Step * of Lemma rational_set_blt

No Annotations
[r,s:ℚ].
  (r <b if isint(r)
  then if isint(s) then r <else let i,j in if 0 <then r <else i <fi  fi 
  else let p,q 
       in if isint(s)
          then if 0 <then p <else s <fi 
          else let i,j 
               in if 0 <then p <else i <fi 
          fi 
  fi )
BY
(Intros
   THEN Assert ⌜r <b 
                if isint(r)
                  then if isint(s) then r <else let i,j in if 0 <then r <else i <fi  fi 
                  else let p,q 
                       in if isint(s)
                          then if 0 <then p <else s <fi 
                          else let i,j 
                               in if 0 <then p <else i <fi 
                          fi 
                  fi ⌝⋅
   THEN Try ((TACTIC:UseWitness ⌜Ax⌝⋅ THEN RevHypSubst' (-1) THEN Auto))
   THEN (DVar `r' THEN Try (QuickAuto))
   THEN DVar `s'
   THEN Try (QuickAuto)
   THEN Subst' r <b r1 <b s1 0
   THEN Try (Try (Complete ((TACTIC:(Assert r1 ∈ ℚ BY
                                           (EqTypeCD THEN Auto))
                             THEN TACTIC:((Assert s1 ∈ ℚ BY (EqTypeCD THEN Auto)) THEN Auto)
                             ))))
   THEN GenConclTerms Auto [⌜r1⌝;⌜s1⌝]⋅
   THEN All Thin
   THEN All D_rational_form⋅
   THEN Reduce 0
   THEN Auto
   THEN RepUR ``q_less grp_lt set_lt set_blt q_le`` 0
   THEN RepeatFor ((CallByValueReduce THENA Auto))
   THEN (RWO "qeq-elim" THENA Auto)
   THEN (Reduce THENA Auto)
   THEN (RWO "qpositive-elim" THENA Auto)
   THEN Reduce 0
   THEN RepUR ``qsub`` 0
   THEN (RWO "qadd-elim" THENA Auto)
   THEN (Reduce THENA Auto)
   THEN (RWO "qmul-elim" THENA Auto)
   THEN (Reduce THENA Auto)
   THEN Repeat (((RW (LowerC (LemmaC `isint-int`)) THENA Complete (Auto)) THEN Reduce 0))) }

1
1. a2 : ℤ
2. a1 : ℤ
⊢ (0 <a1 ((-1) a2) ∨b(a2 =z a1)) ∧b b(0 <a2 ((-1) a1) ∨b(a1 =z a2))) a2 <a1

2
1. a3 : ℤ
2. a4 : ℤ-o
3. a1 : ℤ
⊢ (((0 <(a1 a4) ((-1) a3) ∧b 0 <a4) ∨b((a1 a4) ((-1) a3) <0 ∧b a4 <0)) ∨b(a3 =z a1 a4))
  ∧b b(((0 <a3 (((-1) a1) a4) ∧b 0 <a4) ∨b(a3 (((-1) a1) a4) <0 ∧b a4 <0)) ∨b(a1 a4 =z a3))) 
if 0 <a4 then a3 <a4 a1 else a4 a1 <a3 fi 

3
1. a4 : ℤ
2. a2 : ℤ
3. a3 : ℤ-o
⊢ (((0 <a2 (((-1) a4) a3) ∧b 0 <a3) ∨b(a2 (((-1) a4) a3) <0 ∧b a3 <0)) ∨b(a4 a3 =z a2))
  ∧b b(((0 <(a4 a3) ((-1) a2) ∧b 0 <a3) ∨b((a4 a3) ((-1) a2) <0 ∧b a3 <0)) ∨b(a2 =z a4 a3))) 
if 0 <a3 then a3 a4 <a2 else a2 <a3 a4 fi 

4
1. a5 : ℤ
2. a6 : ℤ-o
3. a2 : ℤ
4. a3 : ℤ-o
⊢ (((0 <(a2 a6) (((-1) a5) a3) ∧b 0 <a3 a6) ∨b((a2 a6) (((-1) a5) a3) <0 ∧b a3 a6 <0))
  ∨b(a5 a3 =z a2 a6))
  ∧b b(((0 <(a5 a3) (((-1) a2) a6) ∧b 0 <a6 a3) ∨b((a5 a3) (((-1) a2) a6) <0 ∧b a6 a3 <0))
     ∨b(a2 a6 =z a5 a3))) 
if 0 <a6 a3 then a3 a5 <a6 a2 else a6 a2 <a3 a5 fi 


Latex:


Latex:
No  Annotations
\mforall{}[r,s:\mBbbQ{}].
    (r  <\msubb{}  s  \msim{}  if  isint(r)
    then  if  isint(s)  then  r  <z  s  else  let  i,j  =  s  in  if  0  <z  j  then  j  *  r  <z  i  else  i  <z  j  *  r  fi    fi 
    else  let  p,q  =  r 
              in  if  isint(s)
                    then  if  0  <z  q  then  p  <z  q  *  s  else  q  *  s  <z  p  fi 
                    else  let  i,j  =  s 
                              in  if  0  <z  q  *  j  then  j  *  p  <z  q  *  i  else  q  *  i  <z  j  *  p  fi 
                    fi 
    fi  )


By


Latex:
(Intros
  THEN  Assert  \mkleeneopen{}r  <\msubb{}  s 
                            =  if  isint(r)
                                then  if  isint(s)
                                          then  r  <z  s
                                          else  let  i,j  =  s 
                                                    in  if  0  <z  j  then  j  *  r  <z  i  else  i  <z  j  *  r  fi 
                                          fi 
                                else  let  p,q  =  r 
                                          in  if  isint(s)
                                                then  if  0  <z  q  then  p  <z  q  *  s  else  q  *  s  <z  p  fi 
                                                else  let  i,j  =  s 
                                                          in  if  0  <z  q  *  j  then  j  *  p  <z  q  *  i  else  q  *  i  <z  j  *  p  fi 
                                                fi 
                                fi  \mkleeneclose{}\mcdot{}
  THEN  Try  ((TACTIC:UseWitness  \mkleeneopen{}Ax\mkleeneclose{}\mcdot{}  THEN  RevHypSubst'  (-1)  0  THEN  Auto))
  THEN  (DVar  `r'  THEN  Try  (QuickAuto))
  THEN  DVar  `s'
  THEN  Try  (QuickAuto)
  THEN  Subst'  r  <\msubb{}  s  \msim{}  r1  <\msubb{}  s1  0
  THEN  Try  (Try  (Complete  ((TACTIC:(Assert  r  =  r1  BY
                                                                                  (EqTypeCD  THEN  Auto))
                                                      THEN  TACTIC:((Assert  s  =  s1  BY  (EqTypeCD  THEN  Auto))  THEN  Auto)
                                                      ))))
  THEN  GenConclTerms  Auto  [\mkleeneopen{}r1\mkleeneclose{};\mkleeneopen{}s1\mkleeneclose{}]\mcdot{}
  THEN  All  Thin
  THEN  All  D\_rational\_form\mcdot{}
  THEN  Reduce  0
  THEN  Auto
  THEN  RepUR  ``q\_less  grp\_lt  set\_lt  set\_blt  q\_le``  0
  THEN  RepeatFor  2  ((CallByValueReduce  0  THENA  Auto))
  THEN  (RWO  "qeq-elim"  0  THENA  Auto)
  THEN  (Reduce  0  THENA  Auto)
  THEN  (RWO  "qpositive-elim"  0  THENA  Auto)
  THEN  Reduce  0
  THEN  RepUR  ``qsub``  0
  THEN  (RWO  "qadd-elim"  0  THENA  Auto)
  THEN  (Reduce  0  THENA  Auto)
  THEN  (RWO  "qmul-elim"  0  THENA  Auto)
  THEN  (Reduce  0  THENA  Auto)
  THEN  Repeat  (((RW  (LowerC  (LemmaC  `isint-int`))  0  THENA  Complete  (Auto))  THEN  Reduce  0)))




Home Index