using static System.Console;
using AngouriMath.Extensions;
using static AngouriMath.MathS;
using static AngouriMath.Entity.Number;
public static void Main()
WriteLine("Alright, let's start from a hello world");
WriteLine("2 + 3 is " + "2 + 3".EvalNumerical().Stringize());
WriteLine("x + 3 + 4 + x + 2x + 23 + a".Simplify().Stringize());
var expr = Sin(x) + Sqrt(x) + Integral(Sin(Sin(x)), x);
WriteLine(expr.Stringize());
WriteLine(expr.Derive(x).Simplify().Stringize());
WriteLine("x2 = 3".Solve("x").Stringize());
WriteLine("(x - 2)(x - 3) = 0 and (x - 1)(x - 2) = 0".Solve("x").InnerSimplified.Stringize());
WriteLine("sin(a x)2 + c sin(2 a x) = c".Solve("x"));
WriteLine(@"{ 1, 2, 3 } \/ { 3, 5 }".Simplify());
WriteLine(@"[a; b) \/ { b }".Simplify());
WriteLine("x2 + a x".Derive("x").InnerSimplified);
WriteLine("true and false implies true".Simplify());
WriteLine(string.Join(" ", new[] { "a", "b", "c", "F" }));
WriteLine("sqrt(x) + x / a + integral(sin(x), x, 1)".Latexise());