Nuprl Lemma : qadd-elim
∀[r,s:ℚ].
  (r + s ~ if isint(r)
  then if isint(s) then r + s else let i,j = s in <(r * j) + i, j> fi 
  else let p,q = r 
       in if isint(s) then <p + (s * q), q> else let i,j = s in <(p * j) + (i * q), q * j> fi 
  fi )
Proof
Definitions occuring in Statement : 
qadd: r + s
, 
rationals: ℚ
, 
ifthenelse: if b then t else f fi 
, 
bfalse: ff
, 
btrue: tt
, 
uall: ∀[x:A]. B[x]
, 
isint: isint def, 
spread: spread def, 
pair: <a, b>
, 
multiply: n * m
, 
add: n + m
, 
sqequal: s ~ t
Definitions unfolded in proof : 
uall: ∀[x:A]. B[x]
, 
member: t ∈ T
, 
qadd: r + s
, 
uimplies: b supposing a
, 
callbyvalueall: callbyvalueall, 
has-value: (a)↓
, 
has-valueall: has-valueall(a)
Lemmas referenced : 
valueall-type-has-valueall, 
rationals_wf, 
rationals-valueall-type, 
evalall-reduce
Rules used in proof : 
sqequalSubstitution, 
sqequalTransitivity, 
computationStep, 
sqequalReflexivity, 
isect_memberFormation, 
introduction, 
cut, 
sqequalRule, 
lemma_by_obid, 
sqequalHypSubstitution, 
isectElimination, 
thin, 
hypothesis, 
independent_isectElimination, 
hypothesisEquality, 
callbyvalueReduce, 
because_Cache, 
sqequalAxiom, 
isect_memberEquality
Latex:
\mforall{}[r,s:\mBbbQ{}].
    (r  +  s  \msim{}  if  isint(r)
    then  if  isint(s)  then  r  +  s  else  let  i,j  =  s  in  <(r  *  j)  +  i,  j>  fi 
    else  let  p,q  =  r 
              in  if  isint(s)  then  <p  +  (s  *  q),  q>  else  let  i,j  =  s  in  <(p  *  j)  +  (i  *  q),  q  *  j>  fi 
    fi  )
Date html generated:
2016_05_15-PM-10_39_42
Last ObjectModification:
2015_12_27-PM-07_58_53
Theory : rationals
Home
Index