infinite.

using https://en.wikipedia.org/wiki/Limit_of_a_function

TODO should these be valid, or should they always produce 'invalid'

and only Limit() produce valid operations on infinity?




simplifyAssertEq(inf, inf)
${\infty} = {\infty}$
GOOD
time: 0.274000ms
stack: size: 7
  • Init
  • Prune
  • Expand
  • Prune
  • Factor
  • Prune
  • Tidy

simplifyAssertNe(inf, -inf)
${\infty} \ne {-{\infty}}$
GOOD
time: 1.417000ms
stack: size: 14
  • Init
  • *:Prune:handleInfAndNan
  • unm:Prune:doubleNegative
  • Prune
  • Expand
  • *:Prune:handleInfAndNan
  • Prune
  • Factor
  • *:Prune:handleInfAndNan
  • Prune
  • Constant:Tidy:apply
  • *:Tidy:apply
  • *:Tidy:apply
  • Tidy

simplifyAssertNe(inf, invalid)
${\infty} \ne {¿}$
GOOD
time: 0.296000ms
stack: size: 7
  • Init
  • Prune
  • Expand
  • Prune
  • Factor
  • Prune
  • Tidy


q + inf = inf for q != -inf


simplifyAssertEq(inf + inf, inf)
${{\infty} + {\infty}} = {\infty}$
GOOD
time: 0.929000ms
stack: size: 8
  • Init
  • +:Prune:handleInfAndInvalid
  • Prune
  • Expand
  • Prune
  • Factor
  • Prune
  • Tidy

simplifyAssertEq(inf + 0, inf)
${\infty} = {\infty}$
GOOD
time: 0.077000ms
stack: size: 0

    simplifyAssertEq(inf + 1, inf)
    ${{\infty} + {1}} = {\infty}$
    GOOD
    time: 0.248000ms
    stack: size: 8
    • Init
    • +:Prune:handleInfAndInvalid
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(inf - 1, inf)
    ${{\infty}{-{1}}} = {\infty}$
    GOOD
    time: 0.544000ms
    stack: size: 9
    • Init
    • unm:Prune:doubleNegative
    • +:Prune:handleInfAndInvalid
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(inf + x + y, inf)
    ${{\infty} + {x} + {y}} = {\infty}$
    GOOD
    time: 0.471000ms
    stack: size: 8
    • Init
    • +:Prune:handleInfAndInvalid
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    
    
    q * inf = inf for q > 0 (incl q == inf)
    
    
    q * inf = -inf for q < 0 (incl q == -inf)
    
    

    simplifyAssertEq((inf * inf), inf)
    ${{{\infty}} \cdot {{\infty}}} = {\infty}$
    GOOD
    time: 0.525000ms
    stack: size: 8
    • Init
    • *:Prune:handleInfAndNan
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq((inf * -inf), -inf)
    ${{{\infty}} \cdot {-{\infty}}} = {-{\infty}}$
    GOOD
    time: 3.858000ms
    stack: size: 14
    • Init
    • *:Prune:handleInfAndNan
    • unm:Prune:doubleNegative
    • Prune
    • Expand
    • *:Prune:handleInfAndNan
    • Prune
    • Factor
    • *:Prune:handleInfAndNan
    • Prune
    • Constant:Tidy:apply
    • *:Tidy:apply
    • *:Tidy:apply
    • Tidy

    simplifyAssertEq((inf * -1), -inf)
    ${{{\infty}} \cdot {{-1}}} = {-{\infty}}$
    GOOD
    time: 1.294000ms
    stack: size: 14
    • Init
    • *:Prune:handleInfAndNan
    • unm:Prune:doubleNegative
    • Prune
    • Expand
    • *:Prune:handleInfAndNan
    • Prune
    • Factor
    • *:Prune:handleInfAndNan
    • Prune
    • Constant:Tidy:apply
    • *:Tidy:apply
    • *:Tidy:apply
    • Tidy

    simplifyAssertEq((inf * -1 * -2), inf)
    ${{{\infty}} \cdot {{-1}} \cdot {{-2}}} = {\infty}$
    GOOD
    time: 0.320000ms
    stack: size: 8
    • Init
    • *:Prune:handleInfAndNan
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq((inf * 1 * 2), inf)
    ${{{\infty}} \cdot {{2}}} = {\infty}$
    GOOD
    time: 0.331000ms
    stack: size: 8
    • Init
    • *:Prune:handleInfAndNan
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy
    TODO this should be unknown unless x is defined as a positive or negative real
    simplifyAssertEq(inf * x, inf)
    ${{{\infty}} \cdot {{x}}} = {\infty}$
    GOOD
    time: 0.305000ms
    stack: size: 8
    • Init
    • *:Prune:handleInfAndNan
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(inf / 2, inf)
    ${{\frac{1}{2}} {\infty}} = {\infty}$
    GOOD
    time: 0.317000ms
    stack: size: 8
    • Init
    • /:Prune:handleInfAndNan
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    
    
    0 * inf = invalid
    
    

    simplifyAssertEq(inf * 0, invalid)
    ${{{\infty}} \cdot {{0}}} = {¿}$
    GOOD
    time: 0.465000ms
    stack: size: 7
    • Init
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(inf / 0, invalid)
    ${¿} = {¿}$
    GOOD
    time: 0.223000ms
    stack: size: 7
    • Init
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    
    
    q / inf = 0 for q != inf and q != -inf
    
    

    simplifyAssertEq(-2 / inf, 0)
    ${\frac{-2}{\infty}} = {0}$
    GOOD
    time: 0.318000ms
    stack: size: 7
    • Init
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(-1 / inf, 0)
    ${\frac{-1}{\infty}} = {0}$
    GOOD
    time: 0.319000ms
    stack: size: 7
    • Init
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(-.5 / inf, 0)
    ${\frac{-0.5}{\infty}} = {0}$
    GOOD
    time: 0.298000ms
    stack: size: 7
    • Init
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(0 / inf, 0)
    ${\frac{0}{\infty}} = {0}$
    GOOD
    time: 0.517000ms
    stack: size: 7
    • Init
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(.5 / inf, 0)
    ${\frac{0.5}{\infty}} = {0}$
    GOOD
    time: 0.417000ms
    stack: size: 7
    • Init
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(1 / inf, 0)
    ${\frac{1}{\infty}} = {0}$
    GOOD
    time: 0.402000ms
    stack: size: 7
    • Init
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(2 / inf, 0)
    ${\frac{2}{\infty}} = {0}$
    GOOD
    time: 0.195000ms
    stack: size: 7
    • Init
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    
    
    inf^q = 0 for q < 0
    
    
    inf^q = inf for q > 0
    
    

    simplifyAssertEq(inf ^ -inf, invalid)
    ${{\infty}^{-{\infty}}} = {¿}$
    GOOD
    time: 0.310000ms
    stack: size: 7
    • Init
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(inf ^ -2, 0)
    ${{\infty}^{-2}} = {0}$
    GOOD
    time: 0.317000ms
    stack: size: 7
    • Init
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(inf ^ -1, 0)
    ${{\infty}^{-1}} = {0}$
    GOOD
    time: 0.239000ms
    stack: size: 7
    • Init
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(inf ^ -.5, 0)
    ${{\infty}^{-0.5}} = {0}$
    GOOD
    time: 0.361000ms
    stack: size: 7
    • Init
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(inf ^ 0, invalid)
    ${{\infty}^{0}} = {¿}$
    GOOD
    time: 0.288000ms
    stack: size: 7
    • Init
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(inf ^ .5, inf)
    ${{\infty}^{0.5}} = {\infty}$
    GOOD
    time: 0.136000ms
    stack: size: 8
    • Init
    • ^:Prune:handleInfAndNan
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(inf ^ 1, inf)
    ${\infty} = {\infty}$
    GOOD
    time: 0.102000ms
    stack: size: 0

      simplifyAssertEq(inf ^ 2, inf)
      ${{\infty}^{2}} = {\infty}$
      GOOD
      time: 0.315000ms
      stack: size: 8
      • Init
      • ^:Prune:handleInfAndNan
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(inf ^ inf, inf)
      ${{\infty}^{\infty}} = {\infty}$
      GOOD
      time: 0.175000ms
      stack: size: 8
      • Init
      • ^:Prune:handleInfAndNan
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      
      
      q^inf = 0 for 0 < q < 1
      
      
      q^inf = inf for 1 < q
      
      

      simplifyAssertEq((-2) ^ inf, invalid)
      ${{-2}^{\infty}} = {¿}$
      GOOD
      time: 0.401000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq((-.5) ^ inf, invalid)
      ${{-0.5}^{\infty}} = {¿}$
      GOOD
      time: 0.458000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(0 ^ inf, invalid)
      ${{0}^{\infty}} = {¿}$
      GOOD
      time: 0.306000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(.5 ^ inf, 0)
      ${{0.5}^{\infty}} = {0}$
      GOOD
      time: 0.322000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(2 ^ inf, inf)
      ${{2}^{\infty}} = {\infty}$
      GOOD
      time: 0.213000ms
      stack: size: 8
      • Init
      • ^:Prune:handleInfAndNan
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      
      
      q^-inf = inf for 0 < q < 1
      
      
      q^-inf = 0 for 1 < q
      
      

      simplifyAssertEq((-2) ^ -inf, invalid)
      ${{-2}^{-{\infty}}} = {¿}$
      GOOD
      time: 0.754000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq((-.5) ^ -inf, invalid)
      ${{-0.5}^{-{\infty}}} = {¿}$
      GOOD
      time: 0.834000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(0 ^ -inf, invalid)
      ${{0}^{-{\infty}}} = {¿}$
      GOOD
      time: 1.152000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(.5 ^ -inf, inf)
      ${{0.5}^{-{\infty}}} = {\infty}$
      GOOD
      time: 0.614000ms
      stack: size: 10
      • Init
      • *:Prune:handleInfAndNan
      • unm:Prune:doubleNegative
      • ^:Prune:handleInfAndNan
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(2 ^ -inf, 0)
      ${{2}^{-{\infty}}} = {0}$
      GOOD
      time: 0.360000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      
      
      indeterminant:
      
      

      simplifyAssertEq(Constant(0) / 0, invalid)
      ${¿} = {¿}$
      GOOD
      time: 0.181000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy
      verify short-circuit doesn't interfere
      simplifyAssertEq(Constant(0) / (Constant(3) * Constant(0)), invalid)
      ${\frac{0}{{{3}} \cdot {{0}}}} = {¿}$
      GOOD
      time: 0.548000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(-inf / inf, invalid)
      ${{\frac{1}{\infty}}{\left({-{\infty}}\right)}} = {¿}$
      GOOD
      time: 0.334000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(inf / inf, invalid)
      ${{\frac{1}{\infty}} {\infty}} = {¿}$
      GOOD
      time: 0.343000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(inf / -inf, invalid)
      ${\frac{\infty}{-{\infty}}} = {¿}$
      GOOD
      time: 0.377000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(-inf / -inf, invalid)
      ${\frac{-{\infty}}{-{\infty}}} = {¿}$
      GOOD
      time: 0.615000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(0 * inf, invalid)
      ${{{0}} {{\infty}}} = {¿}$
      GOOD
      time: 0.370000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(0 * -inf, invalid)
      ${{{0}} \cdot {-{\infty}}} = {¿}$
      GOOD
      time: 0.486000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(inf + -inf, invalid)
      ${{\infty}{-{\infty}}} = {¿}$
      GOOD
      time: 0.393000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(Constant(0) ^ 0, invalid)
      ${¿} = {¿}$
      GOOD
      time: 0.317000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(inf ^ 0, invalid)
      ${{\infty}^{0}} = {¿}$
      GOOD
      time: 0.350000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq((-1) ^ inf, invalid)
      ${{-1}^{\infty}} = {¿}$
      GOOD
      time: 0.213000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq((-1) ^ -inf, invalid)
      ${{-1}^{-{\infty}}} = {¿}$
      GOOD
      time: 0.483000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(1 ^ inf, invalid)
      ${{1}^{\infty}} = {¿}$
      GOOD
      time: 0.229000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(1 ^ -inf, invalid)
      ${{1}^{-{\infty}}} = {¿}$
      GOOD
      time: 0.510000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy