	BeginPackage["Solve`"]

MyReduce::usage =
"A smarter version of Reduce."

Begin["`Private`"]

MyReduce[e___] := Reduce[e]

(* Use numerical approximation to help decide inequalities.
 * Thus Pi < 4 will evaluate to True. *)

Unprotect[Less]
Clear[Less]
Less[a___, b_, c___] := Less[a, N[b], c] /; !NumberQ[b] && NumberQ[N[b]]

Unprotect[Inequality]
Clear[Inequality]
Inequality[a___, b_, c___] := Inequality[a, N[b], c] /;
	!NumberQ[b] && NumberQ[N[b]]

SetAttributes[Equal, Orderless]

Unprotect[Reduce]
Clear[Reduce]
Reduce[Equal[a_, Sqrt[b_]], x_Symbol] :=
 Reduce[Equal[a^2, b] && -Pi/2 < Arg[a] <= Pi/2, x]	/; !FreeQ[b, x]

End[]
EndPackage[]
