gusl: (Default)
[personal profile] gusl
I'm really proud of my equational reasoner. Challenge me!

Using the operations of +, -, *, /, ^, and the alphabet of numbers and variables, please come up with two very different finite expressions, which are equivalent under equational algebra. My claim is that my system will reduce them both to the same normal form, unless one (or both) of them is a polynomial division.

EXPRS := EXPR EXPRS
EXPRS := []
EXPR := (+ EXPRS)
EXPR := (* EXPRS)
EXPR := (^ EXPR EXPR)
EXPR := VAR
EXPR := NUMBER


(I have a vague suspicion that I'm reinventing Knuth-Bendix about 30 years too late).

Karatsuba

Date: 2005-09-15 06:08 am (UTC)
From: [identity profile] r6.livejournal.com

Oh, this is exactly what I need today.

  1. (a*c)*2^(m+m) = (a*2^m)*(c*2^m)
  2. (a*c)*2^(m+m) + (a*d)*2^m = (a*2^m)*(d + c*2^m)
  3. (a*c)*2^(m+m) + (b*c)*2^m = (b + a*2^m)*(c*2^m)
  4. (a*c)*2^(m+m) + ((a+b)*(c+d) - (a*c + b*d))*2^m + b*d = (b + a*2^m)*(d + c*2^m)

Re: Karatsuba

Date: 2005-09-15 10:38 am (UTC)
From: [identity profile] gustavolacerda.livejournal.com
uhm... how do you get 4? (it passes my refuter, so no doubts about its truth)

Re: Karatsuba

Date: 2005-09-15 10:44 am (UTC)
From: [identity profile] gustavolacerda.livejournal.com
EBE> (simpl '(* (+ b (* a (^ 2 m))) (+ d (* c (^ 2 m)))))
(+ (* A C (^ 2 (* 2 M))) (* A D (^ 2 M)) (* B C (^ 2 M)) (* B D))

EBE> (simpl '(+ (* (* a c) (^ 2 (+ m m)))  (* (- (* (+ a b) (+ c d)) (+ (* a c) (* b d))) (^ 2 m)) (* b d)))
(+ (* A C (^ 2 (* 2 M))) (* A D (^ 2 M)) (* B C (^ 2 M)) (* B D))


They reduce to the same.

Re: Karatsuba

Date: 2005-09-15 10:45 am (UTC)
From: [identity profile] gustavolacerda.livejournal.com
my baby is obviously better than me!

(no subject)

Date: 2005-09-15 07:35 pm (UTC)
From: (Anonymous)
What about

(a) ( X^5 - 1 ) / ( X - 1 )
(b) ( X^4 + X^3 + X^2 + X + 1 )

or does the fact that (a) is not defined at x=1 break it? If it does matter, division is basically pointless in your list of valid operators, since there's always a zero root.




(no subject)

Date: 2005-09-15 08:19 pm (UTC)
From: [identity profile] gustavolacerda.livejournal.com
you got me! Factoring is its main weakness, I think. But I'd be surprised if you found anything else.

I basically ignore the division-by-zero problem, by saying that you can always cancel out.

Would you care to tell me who you are?

Sorry :)

Date: 2005-09-15 11:44 pm (UTC)
From: [identity profile] maustin.livejournal.com
Sorry, I thought I was logged on. I can't remember how I ended up friending you, but it was many months ago.

(no subject)

Date: 2005-09-16 12:02 am (UTC)
From: (Anonymous)
So, I think if you remove "/" from the list, it'll work. After that it's simply a matter of distributing/associating/commuting.

It'd be interesting to see if the following work:

(1a) ( X + 1 ) ^ 100
(1b) ( X^2 + X + 1 ) ^ 50

(2a) X ^ ( X + 1 ) / X ^ ( X - 1 )
(2b) X ^ 2

(3a) (( X + X ) ^ ( X + X )) ^ ( X + X )
(3b) (( 2 * X ) ^ 4 ) ^ ( X ^ 2 )





February 2020

S M T W T F S
      1
2345678
9101112131415
16171819202122
23242526272829

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags