Ok, i think i have solved it (i am totally sick now, so i might be writting nonesense).
The main problem is that (1+1+1+1 .. (x times) .. +1+1) is meaningless if x is not a positive integer (iow : x=1,2,3,4,5,6...)
And since it has no meaning for values around the positive integers, it is not continuous, and we can't find its derivative (this is like finding the derivative of f(x) = x!, it is meaningless since x! is only defined for positive integers, therefore we use the gamma function instead (i think))
So what i did is that i gave it a little bit more meaning :)
Let's define [ x ] as the floor function of x, that is, if :
[ x ] = n
then :
n <= x < (n+1)
In this case, it would be more general to define multiplying as :
a*b = (a+a+a+a+...( [ b ] times )) + (b-[ b ])a
for example :
3*2.5 = 3+3+(2.5-2)3 = 3+3+(0.5*3)=6+1.5 = 7.5
Looking better, this would be :
a*b = ([sum](from k=1 to [ b ])a) + (b-[ b ])a
Now, using this information, look what i did.
d(x^2)/dx = d(x^2)/dx (i don't think anyone disagrees on this one)
2x = d(x*x)/dx
2x = d([sum](from k1= to [ x ])x + (x-[ x ])x)/dx
2x = d([sum](from k1= to [ x ])x)/dx + d((x-[ x ])x)/dx
2x = [sum](from k1= to [ x ])1 + d((x-[ x ])x)/dx
2x = [ x ] + (x-[ x ])d(x)/dx + x*d(x-[ x ])/dx
2x = [ x ] + x - [ x ] + x*(d(x)/dx - d([ x ])/dx)
If x is not an integer, then : d([ x ])/dx)=0
2x = [ x ] + x - [ x ] + x*(1-0)
2x = 2x
So there is no problem from the first place.
I would like to hear comments about this if possible, thanks

.
Edit : adjusted the sums.
Edit : changed a term.