(* ::Package:: *)

 (*ZACH BUSHBY 2020 BOUND REFRENCE/SHORTCUTS (Spec/Methods)*)
 
 (*"to begin try evaluate '?help' or '?shortcuts`"*)


 (*DEFINITIONS AND SHORTCUTS*)
 help::usage = "
\!\(\*
StyleBox[\"??\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"(\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"insert\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"any\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"category\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"below\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\")\",\nFontWeight->\"Bold\"]\)

\!\(\*
StyleBox[\"shortcuts\",\nFontWeight->\"Bold\"]\):  overall shortcuts
\!\(\*
StyleBox[\"general\",\nFontWeight->\"Bold\"]\): function for general mathematica use
\!\(\*
StyleBox[\"plotting\",\nFontWeight->\"Bold\"]\):  functions for plotting graphs
\!\(\*
StyleBox[\"vector\",\nFontWeight->\"Bold\"]\):  functions for vectors
\!\(\*
StyleBox[\"calculus\",\nFontWeight->\"Bold\"]\): functions for Integration
\!\(\*
StyleBox[\"complex\",\nFontWeight->\"Bold\"]\): functions for complex numbers
\!\(\*
StyleBox[\"probability\",\nFontWeight->\"Bold\"]\): functions for Probability
\!\(\*
StyleBox[\"manipulation\",\nFontWeight->\"Bold\"]\): functions for answer maniuplation
\!\(\*
StyleBox[\"funcproperties\",\nFontWeight->\"Bold\"]\): properties of functions

\!\(\*
StyleBox[\"##\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"To\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"CLEAR\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"a\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"variable\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"do\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"{\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"cl\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"}\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"then\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"the\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"variable\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"letter\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"##\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"For\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"example\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\",\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"{\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"cla\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"}\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"clears\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"a\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"!!\",\nFontWeight->\"Bold\"]\)
";
shortcuts::usage = "
\!\(\*
StyleBox[\"ALL\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"SHORTCUTS\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"AVAILABLE\",\nFontWeight->\"Bold\"]\)
\!\(\*
StyleBox[\"G\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"E\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"N\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"E\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"R\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"A\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"L\",\nFontWeight->\"Bold\"]\)

\!\(\*
StyleBox[\"m11\",\nFontWeight->\"Bold\"]\): FullSimplify
\!\(\*
StyleBox[\"m12\",\nFontWeight->\"Bold\"]\): Solve[a,x]
\!\(\*
StyleBox[\"FS\",\nFontWeight->\"Bold\"]\): Force Solve
\!\(\*
StyleBox[\"m12a\",\nFontWeight->\"Bold\"]\): Solve Reals
\!\(\*
StyleBox[\"m12r\",\nFontWeight->\"Bold\"]\): Reduce Reals
\!\(\*
StyleBox[\"m13\",\nFontWeight->\"Bold\"]\): Reduce
\!\(\*
StyleBox[\"m14\",\nFontWeight->\"Bold\"]\): Complex Expand
\!\(\*
StyleBox[\"findroot\",\nFontWeight->\"Bold\"]\): Findroots

\!\(\*
StyleBox[\"P\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"L\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"O\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"T\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"T\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"I\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"N\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"G\",\nFontWeight->\"Bold\"]\)

\!\(\*
StyleBox[\"m21\",\nFontWeight->\"Bold\"]\): Normal Plot
\!\(\*
StyleBox[\"m22\",\nFontWeight->\"Bold\"]\): Contour Plot (for relations)
\!\(\*
StyleBox[\"m23\",\nFontWeight->\"Bold\"]\): Stream Plot (slope fields)
\!\(\*
StyleBox[\"m23a\",\nFontWeight->\"Bold\"]\): Stream Plot (plot multiple)
\!\(\*
StyleBox[\"m23b\",\nFontWeight->\"Bold\"]\): Slope Sketch (slope field multiple)
\!\(\*
StyleBox[\"m25\",\nFontWeight->\"Bold\"]\): Detail Plot (plot with features)
\!\(\*
StyleBox[\"m25a\",\nFontWeight->\"Bold\"]\): Detail Plot (multiple)
\!\(\*
StyleBox[\"m26\",\nFontWeight->\"Bold\"]\): Polar Plot 
\!\(\*
StyleBox[\"m27\",\nFontWeight->\"Bold\"]\): Relation Plot
\!\(\*
StyleBox[\"m27a\",\nFontWeight->\"Bold\"]\): CR Plot (relation plot with features)

\!\(\*
StyleBox[\"F\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"U\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"N\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"C\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"T\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"I\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"O\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"N\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"    \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"P\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"R\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"O\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"P\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"E\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"R\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"T\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"I\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"E\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"S\",\nFontWeight->\"Bold\"]\)

\!\(\*
StyleBox[\"DR\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\":\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)Domain and Range of a Function
\!\(\*
StyleBox[\"FD\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\":\",\nFontWeight->\"Bold\"]\) Function Domain
\!\(\*
StyleBox[\"FR\",\nFontWeight->\"Bold\"]\): Function Range
\!\(\*
StyleBox[\"TL\",\nFontWeight->\"Bold\"]\): Tangent Line
\!\(\*
StyleBox[\"NL\",\nFontWeight->\"Bold\"]\): Normal Line
\!\(\*
StyleBox[\"fmin\",\nFontWeight->\"Bold\"]\): Function Minimum
\!\(\*
StyleBox[\"fmax\",\nFontWeight->\"Bold\"]\): Function Maximum
\!\(\*
StyleBox[\"finfo\",\nFontWeight->\"Bold\"]\): bad version of the real one (details about a function)
\!\(\*
StyleBox[\"piece\",\nFontWeight->\"Bold\"]\): Piecewise Function
\!\(\*
StyleBox[\"manipulate\",\nFontWeight->\"Bold\"]\): Manipulate a graph

\!\(\*
StyleBox[\"V\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"E\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"C\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"T\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"O\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"R\",\nFontWeight->\"Bold\"]\)

\!\(\*
StyleBox[\"V1\",\nFontWeight->\"Bold\"]\): Norm (magnitude)
\!\(\*
StyleBox[\"V2\",\nFontWeight->\"Bold\"]\): Normalize (Unit Vector in dir of vec)
\!\(\*
StyleBox[\"Vang\",\nFontWeight->\"Bold\"]\): Vector Angle (Angle between 2 vectors)
\!\(\*
StyleBox[\"Vsr\",\nFontWeight->\"Bold\"]\): Scalar Resolute 
\!\(\*
StyleBox[\"Vp\",\nFontWeight->\"Bold\"]\): 
\!\(\*
StyleBox[\"Velim\",\nFontWeight->\"Bold\"]\): Finding Cartesian Equation (elimnating t)
\!\(\*
StyleBox[\"Vplot\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\":\",\nFontWeight->\"Bold\"]\) Vector Function Plot (with details)
\!\(\*
StyleBox[\"Vplota\",\nFontWeight->\"Bold\"]\): Vector Function Plot (without details)
\!\(\*
StyleBox[\"Vplotb\",\nFontWeight->\"Bold\"]\): Vector Plot (individual Vectors)

\!\(\*
StyleBox[\"C\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"A\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"L\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"C\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"U\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"L\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"U\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"S\",\nFontWeight->\"Bold\"]\)

\!\(\*
StyleBox[\"euler\",\nFontWeight->\"Bold\"]\): Euler Method
\!\(\*
StyleBox[\"I10\",\nFontWeight->\"Bold\"]\): Integrate
\!\(\*
StyleBox[\"I10a\",\nFontWeight->\"Bold\"]\): Integrate with bounds
\!\(\*
StyleBox[\"usub\",\nFontWeight->\"Bold\"]\): U substitution
\!\(\*
StyleBox[\"usuba\",\nFontWeight->\"Bold\"]\): U sub with bounds
\!\(\*
StyleBox[\"imp\",\nFontWeight->\"Bold\"]\): Implicit Differentitation
\!\(\*
StyleBox[\"diff\",\nFontWeight->\"Bold\"]\): Regular Differentitation
\!\(\*
StyleBox[\"WD\",\nFontWeight->\"Bold\"]\): Step by Step Differentiation
\!\(\*
StyleBox[\"WI\",\nFontWeight->\"Bold\"]\): Step by Step Integration
\!\(\*
StyleBox[\"Arc\",\nFontWeight->\"Bold\"]\): Arc Length (one function)
\!\(\*
StyleBox[\"Arca\",\nFontWeight->\"Bold\"]\): Arc Length (2 functions)(vec func)
\!\(\*
StyleBox[\"Arcb\",\nFontWeight->\"Bold\"]\): Arc Length (2 functions)
\!\(\*
StyleBox[\"solrev\",\nFontWeight->\"Bold\"]\): Solid of Revolution

\!\(\*
StyleBox[\"C\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"O\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"M\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"P\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"L\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"E\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"X\",\nFontWeight->\"Bold\"]\)

\!\(\*
StyleBox[\"C1\",\nFontWeight->\"Bold\"]\): Conjugate
\!\(\*
StyleBox[\"C2\",\nFontWeight->\"Bold\"]\): Complex Expand
\!\(\*
StyleBox[\"C3\",\nFontWeight->\"Bold\"]\): Complex Angle (Arg[z])
\!\(\*
StyleBox[\"C4a\",\nFontWeight->\"Bold\"]\): Cartesian to Polar Form
\!\(\*
StyleBox[\"C4b\",\nFontWeight->\"Bold\"]\): Polar to Cartesian Form
\!\(\*
StyleBox[\"cis\",\nFontWeight->\"Bold\"]\): Cis[x]
\!\(\*
StyleBox[\"CF\",\nFontWeight->\"Bold\"]\): Centre and Radius
\!\(\*
StyleBox[\"Cplota\",\nFontWeight->\"Bold\"]\): CR Plot (with details)(vec func)
\!\(\*
StyleBox[\"Cplotb\",\nFontWeight->\"Bold\"]\): Contour Plot (without details)(vec func)
\!\(\*
StyleBox[\"Clistplot\",\nFontWeight->\"Bold\"]\): Complex Points Plot
\!\(\*
StyleBox[\"Carea\",\nFontWeight->\"Bold\"]\): Complex Area
\!\(\*
StyleBox[\"Ceval\",\nFontWeight->\"Bold\"]\): Complex Evaluation

\!\(\*
StyleBox[\"P\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"R\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"O\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"B\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"A\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"B\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"I\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"L\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"I\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"T\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"Y\",\nFontWeight->\"Bold\"]\)

\!\(\*
StyleBox[\"nd\",\nFontWeight->\"Bold\"]\): Normal Distribution
\!\(\*
StyleBox[\"bd\",\nFontWeight->\"Bold\"]\): Binomial Distribution
\!\(\*
StyleBox[\"comb\",\nFontWeight->\"Bold\"]\): combination
\!\(\*
StyleBox[\"perm\",\nFontWeight->\"Bold\"]\): permutation

\!\(\*
StyleBox[\"M\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"A\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"N\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"I\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"P\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"U\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"L\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"A\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"T\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"I\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"O\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"N\",\nFontWeight->\"Bold\"]\)

\!\(\*
StyleBox[\"RD\",\nFontWeight->\"Bold\"]\): Rationalise Denominator
\!\(\*
StyleBox[\"rad\",\nFontWeight->\"Bold\"]\): Express Value in Root
\!\(\*
StyleBox[\"ra\",\nFontWeight->\"Bold\"]\): Express Value in Root
\!\(\*
StyleBox[\"fs\",\nFontWeight->\"Bold\"]\): FullSimplify

that's all
";
general::usage = "
\!\(\*
StyleBox[\"G\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"E\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"N\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"E\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"R\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"A\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"L\",\nFontWeight->\"Bold\"]\)

\!\(\*
StyleBox[\"m11\",\nFontWeight->\"Bold\"]\): FullSimplify
\!\(\*
StyleBox[\"m12\",\nFontWeight->\"Bold\"]\): Solve[a,x]
\!\(\*
StyleBox[\"FS\",\nFontWeight->\"Bold\"]\): Force Solve
\!\(\*
StyleBox[\"m12a\",\nFontWeight->\"Bold\"]\): Solve Reals
\!\(\*
StyleBox[\"m12r\",\nFontWeight->\"Bold\"]\): Reduce Reals
\!\(\*
StyleBox[\"m13\",\nFontWeight->\"Bold\"]\): Reduce
\!\(\*
StyleBox[\"m14\",\nFontWeight->\"Bold\"]\): Complex Expand
\!\(\*
StyleBox[\"findroot\",\nFontWeight->\"Bold\"]\): Findroots
";
plotting::usage = "
\!\(\*
StyleBox[\"P\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"L\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"O\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"T\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"T\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"I\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"N\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"G\",\nFontWeight->\"Bold\"]\)

\!\(\*
StyleBox[\"m21\",\nFontWeight->\"Bold\"]\): Normal Plot
\!\(\*
StyleBox[\"m22\",\nFontWeight->\"Bold\"]\): Contour Plot (for relations)
\!\(\*
StyleBox[\"m23\",\nFontWeight->\"Bold\"]\): Stream Plot (slope fields)
\!\(\*
StyleBox[\"m23a\",\nFontWeight->\"Bold\"]\): Stream Plot (plot multiple)
\!\(\*
StyleBox[\"m23b\",\nFontWeight->\"Bold\"]\): Slope Sketch (slope field multiple)
\!\(\*
StyleBox[\"m25\",\nFontWeight->\"Bold\"]\): Detail Plot (plot with features)
\!\(\*
StyleBox[\"m25a\",\nFontWeight->\"Bold\"]\): Detail Plot (multiple)
\!\(\*
StyleBox[\"m26\",\nFontWeight->\"Bold\"]\): Polar Plot 
\!\(\*
StyleBox[\"m27\",\nFontWeight->\"Bold\"]\): Relation Plot
\!\(\*
StyleBox[\"m27a\",\nFontWeight->\"Bold\"]\): CR Plot (relation plot with features)
";
vector::usage = "
\!\(\*
StyleBox[\"V\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"E\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"C\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"T\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"O\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"R\",\nFontWeight->\"Bold\"]\)

\!\(\*
StyleBox[\"V1\",\nFontWeight->\"Bold\"]\): Norm (magnitude)
\!\(\*
StyleBox[\"V2\",\nFontWeight->\"Bold\"]\): Normalize (Unit Vector in dir of vec)
\!\(\*
StyleBox[\"Vang\",\nFontWeight->\"Bold\"]\): Vector Angle (Angle between 2 vectors)
\!\(\*
StyleBox[\"Vsr\",\nFontWeight->\"Bold\"]\): Scalar Resolute 
\!\(\*
StyleBox[\"Vp\",\nFontWeight->\"Bold\"]\): 
\!\(\*
StyleBox[\"Velim\",\nFontWeight->\"Bold\"]\): Finding Cartesian Equation (elimnating t)
\!\(\*
StyleBox[\"Vplot\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\":\",\nFontWeight->\"Bold\"]\) Vector Function Plot (with details)
\!\(\*
StyleBox[\"Vplota\",\nFontWeight->\"Bold\"]\): Vector Function Plot (without details)
\!\(\*
StyleBox[\"Vplotb\",\nFontWeight->\"Bold\"]\): Vector Plot (individual Vectors)
";
calculus::usage = "
\!\(\*
StyleBox[\"C\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"A\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"L\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"C\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"U\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"L\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"U\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"S\",\nFontWeight->\"Bold\"]\)

\!\(\*
StyleBox[\"euler\",\nFontWeight->\"Bold\"]\): Euler Method
\!\(\*
StyleBox[\"I10\",\nFontWeight->\"Bold\"]\): Integrate
\!\(\*
StyleBox[\"I10a\",\nFontWeight->\"Bold\"]\): Integrate with bounds
\!\(\*
StyleBox[\"usub\",\nFontWeight->\"Bold\"]\): U substitution
\!\(\*
StyleBox[\"usuba\",\nFontWeight->\"Bold\"]\): U sub with bounds
\!\(\*
StyleBox[\"imp\",\nFontWeight->\"Bold\"]\): Implicit Differentitation
\!\(\*
StyleBox[\"diff\",\nFontWeight->\"Bold\"]\): Regular Differentitation
\!\(\*
StyleBox[\"WD\",\nFontWeight->\"Bold\"]\): Step by Step Differentiation
\!\(\*
StyleBox[\"WI\",\nFontWeight->\"Bold\"]\): Step by Step Integration
\!\(\*
StyleBox[\"Arc\",\nFontWeight->\"Bold\"]\): Arc Length (one function)
\!\(\*
StyleBox[\"Arca\",\nFontWeight->\"Bold\"]\): Arc Length (2 functions)(vec func)
\!\(\*
StyleBox[\"Arcb\",\nFontWeight->\"Bold\"]\): Arc Length (2 functions)
\!\(\*
StyleBox[\"solrev\",\nFontWeight->\"Bold\"]\): Solid of Revolution
";
complex::usage = "
\!\(\*
StyleBox[\"C\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"O\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"M\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"P\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"L\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"E\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"X\",\nFontWeight->\"Bold\"]\)

\!\(\*
StyleBox[\"C1\",\nFontWeight->\"Bold\"]\): Conjugate
\!\(\*
StyleBox[\"C2\",\nFontWeight->\"Bold\"]\): Complex Expand
\!\(\*
StyleBox[\"C3\",\nFontWeight->\"Bold\"]\): Complex Angle (Arg[z])
\!\(\*
StyleBox[\"C4a\",\nFontWeight->\"Bold\"]\): Cartesian to Polar Form
\!\(\*
StyleBox[\"C4b\",\nFontWeight->\"Bold\"]\): Polar to Cartesian Form
\!\(\*
StyleBox[\"cis\",\nFontWeight->\"Bold\"]\): Cis[x]
\!\(\*
StyleBox[\"CF\",\nFontWeight->\"Bold\"]\): Centre and Radius
\!\(\*
StyleBox[\"Cplota\",\nFontWeight->\"Bold\"]\): CR Plot (with details)(vec func)
\!\(\*
StyleBox[\"Cplotb\",\nFontWeight->\"Bold\"]\): Contour Plot (without details)(vec func)
\!\(\*
StyleBox[\"Clistplot\",\nFontWeight->\"Bold\"]\): Complex Points Plot
\!\(\*
StyleBox[\"Carea\",\nFontWeight->\"Bold\"]\): Complex Area
\!\(\*
StyleBox[\"Ceval\",\nFontWeight->\"Bold\"]\): Complex Evaluation

";
probability::usage = "
\!\(\*
StyleBox[\"P\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"R\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"O\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"B\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"A\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"B\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"I\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"L\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"I\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"T\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"Y\",\nFontWeight->\"Bold\"]\)

\!\(\*
StyleBox[\"nd\",\nFontWeight->\"Bold\"]\): Normal Distribution
\!\(\*
StyleBox[\"bd\",\nFontWeight->\"Bold\"]\): Binomial Distribution
\!\(\*
StyleBox[\"comb\",\nFontWeight->\"Bold\"]\): combination
\!\(\*
StyleBox[\"perm\",\nFontWeight->\"Bold\"]\): permutation
";
manipulation::usage = "
\!\(\*
StyleBox[\"M\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"A\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"N\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"I\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"P\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"U\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"L\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"A\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"T\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"I\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"O\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"N\",\nFontWeight->\"Bold\"]\)

\!\(\*
StyleBox[\"RD\",\nFontWeight->\"Bold\"]\): Rationalise Denominator
\!\(\*
StyleBox[\"rad\",\nFontWeight->\"Bold\"]\): Express Value in Root
\!\(\*
StyleBox[\"ra\",\nFontWeight->\"Bold\"]\): Express Value in Root
\!\(\*
StyleBox[\"fs\",\nFontWeight->\"Bold\"]\): FullSimplify
";
funcproperties::usage = "
\!\(\*
StyleBox[\"F\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"U\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"N\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"C\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"T\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"I\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"O\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"N\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"    \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"P\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"R\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"O\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"P\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"E\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"R\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"T\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"I\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"E\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\"S\",\nFontWeight->\"Bold\"]\)

\!\(\*
StyleBox[\"DR\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\":\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\" \",\nFontWeight->\"Bold\"]\)Domain and Range of a Function
\!\(\*
StyleBox[\"FD\",\nFontWeight->\"Bold\"]\)\!\(\*
StyleBox[\":\",\nFontWeight->\"Bold\"]\) Function Domain
\!\(\*
StyleBox[\"FR\",\nFontWeight->\"Bold\"]\): Function Range
\!\(\*
StyleBox[\"TL\",\nFontWeight->\"Bold\"]\): Tangent Line
\!\(\*
StyleBox[\"NL\",\nFontWeight->\"Bold\"]\): Normal Line
\!\(\*
StyleBox[\"fmin\",\nFontWeight->\"Bold\"]\): Function Minimum
\!\(\*
StyleBox[\"fmax\",\nFontWeight->\"Bold\"]\): Function Maximum
\!\(\*
StyleBox[\"finfo\",\nFontWeight->\"Bold\"]\): bad version of the real one (details about a function)
\!\(\*
StyleBox[\"piece\",\nFontWeight->\"Bold\"]\): Piecewise Function
\!\(\*
StyleBox[\"manipulate\",\nFontWeight->\"Bold\"]\): Manipulate a graph
";


 Begin["`Private`"];


 (*Shortcuts*)
SetOptions[$FrontEndSession, 
 InputAutoReplacements ->{
 "m11"->ToBoxes[Defer[FullSimplify/@{}]],
 "m12"->ToBoxes[Defer[Solve[a,x]]],
 "FS"->ToBoxes[Defer[ForceSolve[a,x]]],
 "m12a"->ToBoxes[Defer[Solve[a,x,Reals]]],
 "m12r"->ToBoxes[Defer[Reduce[a,x,Reals]]],
 "m13"->ToBoxes[Defer[Reduce/@{}]],
 "m14"->ToBoxes[Defer[ComplexExpand/@{}]],
 "findroot"->ToBoxes[Defer[FindRoots[fn==fn,{x,a,b}]]],

(*plotting*)
"m21"->ToBoxes[Defer[Plot[fn,{x,-10,10},PlotRange->10, PlotLegends->"Expressions"]]],
"m22"->ToBoxes[Defer[ContourPlot[rel,{x,-10,10},{y,-10,10},Frame->False,Axes->True]]],
"m23"->ToBoxes[Defer[StreamPlot[{1,dy/dx},{x,-10,10},{y,-10,10},Frame->False,Axes->True]]],
"m23a"->ToBoxes[Defer[StreamPlot[{1,#},{x,-10,10},{y,-10,10},Frame->False,Axes->True]&/@{}]],
"m23b"->ToBoxes[Defer[FSlopeSketch[{x+y,(x^2-y^2)/x,x+y/x},x,y]]],
"m24"->ToBoxes[Defer[ParametricPlot[{x[t],y[t]},{t,a,b}]]],
"m25"->ToBoxes[Defer[DetailPlot[fn,{x,-10,10},PlotRange->10]]],
"m25a"->ToBoxes[Defer[DetailPlot[#,{x,-10,10},PlotRange->10]&/@{}]],
"m26"->ToBoxes[Defer[PolarPlot[r[\[Theta]],{\[Theta],0,2\[Pi]}]]],
"m27"->ToBoxes[Defer[RelationPlot[rel,{x,-5,5},{y,-5,5}]]],
"m27a"->ToBoxes[Defer[CRPlot[rel,{x,-5,5},{y,-5,5}]]],



(*clear functions*)
"cla"->ToBoxes[Defer[Clear[a]]],
"clb"->ToBoxes[Defer[Clear[b]]],
"clc"->ToBoxes[Defer[Clear[c]]],
"cld"->ToBoxes[Defer[Clear[d]]],
"cle"->ToBoxes[Defer[Clear[e]]],
"clf"->ToBoxes[Defer[Clear[f]]],
"clg"->ToBoxes[Defer[Clear[g]]],
"clh"->ToBoxes[Defer[Clear[h]]],
"cli"->ToBoxes[Defer[Clear[i]]],
"clj"->ToBoxes[Defer[Clear[j]]],
"clk"->ToBoxes[Defer[Clear[k]]],
"cll"->ToBoxes[Defer[Clear[l]]],
"clm"->ToBoxes[Defer[Clear[m]]],
"cln"->ToBoxes[Defer[Clear[n]]],
"clo"->ToBoxes[Defer[Clear[o]]],
"clp"->ToBoxes[Defer[Clear[p]]],
"clq"->ToBoxes[Defer[Clear[q]]],
"clr"->ToBoxes[Defer[Clear[r]]],
"cls"->ToBoxes[Defer[Clear[s]]],
"clt"->ToBoxes[Defer[Clear[t]]],
"clu"->ToBoxes[Defer[Clear[u]]],
"clv"->ToBoxes[Defer[Clear[v]]],
"clw"->ToBoxes[Defer[Clear[w]]],
"clx"->ToBoxes[Defer[Clear[x]]],
"cly"->ToBoxes[Defer[Clear[y]]],
"clz"->ToBoxes[Defer[Clear[z]]],

(*Complex*)
"C1"->ToBoxes[Defer[Conjugate[fn]]],
"C2"->ToBoxes[Defer[ComplexExpand[fn]]],
"C3"->ToBoxes[Defer[Arg[fn]]],
"C4a"->ToBoxes[Defer[ToPolarCoordinates[{a,b}]]],
"C4b"->ToBoxes[Defer[FromPolarCoordinates[{a,b}]]],
"cis"->ToBoxes[Defer[Cis[x]]],
"CF"->ToBoxes[Defer[CircleForm[Abs[x+I y-2]>=Sqrt[2] Abs[x+I y],{x,y}]]],
"Cplotb"->ToBoxes[Defer[ContourPlot[Evaluate[Abs[z+aI]==2Abs[z-aI]/.z-> x+y I ],{x,-5,5},{y,-5,5},Frame->False,Axes->True,AxesLabel->{x,y}]]],
"Cplota"->ToBoxes[Defer[CRPlot[{Abs[z-a]== Abs[z-a],Abs[z+a]== Abs[z-a]},{x,-5,5},{y,-5,5}]]],
"Clistplot"->ToBoxes[Defer[CListPlot[{1+I,Cis[Pi/3],Cis[2 Pi/3],Cis[4 Pi/3]}]]],
"Carea"->ToBoxes[Defer[ImplicitRegion[Abs[x+I y-a]<=1&&Abs[x+I y-I]<= 1,{x,y}]//Area]],
"Ceval"->ToBoxes[Defer[evaluate[Abs[z+I]==2Abs[z-I]/.z-> x+y I ]]],

(*Vector*)
"V1"->ToBoxes[Defer[Norm[fn]]],
"V2"->ToBoxes[Defer[Normalize[fn]]],
"Vang"->ToBoxes[Defer[VectorAngle[a,b]/Degree]],
"Vsr"->ToBoxes[Defer[ScalarRes[a,b]]],
"Vp"->ToBoxes[Defer[Cross[a,b]]],
"Velim"->ToBoxes[Defer[Solve[Eliminate[{x==t+1,y==t^2+2t},t],y]]],
"Vplot"->ToBoxes[Defer[DetailPP[{{Log[t],Sin[t]}},{t,0,2Pi}]]],
"Vplota"->ToBoxes[Defer[ParametricPlot[{Cos[2 t],-Sin[t]},{t,0,5 Pi/4}]]],
"Vplotb"->ToBoxes[Defer[VecPlot[{{3,2},{-1,2}}]]],


(*Spec Integration*)
"euler"->ToBoxes[Defer[Euler[exp,{x,y},{Subscript[x, o],Subscript[y, o]},h,Subscript[x,F]]]],
"I10"->ToBoxes[Defer[Integrate[(fn),x]+c]],
"I10a"->ToBoxes[Defer[Integrate[(fn),{x,a,b}]]],
"usub"->ToBoxes[Defer[Substitute[Integrate[(fn),x],u->u]]],
"usuba"->ToBoxes[Defer[Substitute[Integrate[(fn),{x,a,b}],u-> u]]],
"imp"->ToBoxes[Defer[ImpDiff[fn,{x,f[x],1}]]],
"I12a"->ToBoxes[Defer[d[fn,x]]],
"WD"->ToBoxes[Defer[walkD[fn,x]]],
"WI"->ToBoxes[Defer[walkInt[fn,x]]],
"Arc"->ToBoxes[Defer[\!\(
\*SubsuperscriptBox[\(\[Integral]\), \(a\), \(b\)]\(
\*SqrtBox[\(1 + 
\*SuperscriptBox[\((\(fn'\)[x])\), \(2\)]\)] \[DifferentialD]x\)\) ]],
"Arca"->ToBoxes[Defer[ArcLength[{x[t],y[t]},{t,a,b}]]],
"Arcb"->ToBoxes[Defer[\!\(
\*SubsuperscriptBox[\(\[Integral]\), \(a\), \(b\)]\(
\*SqrtBox[\(
\*SuperscriptBox[\((\(x'\)[t])\), \(2\)] + 
\*SuperscriptBox[\((\(y'\)[t])\), \(2\)]\)] \[DifferentialD]t\)\) ]],
"solrev"->ToBoxes[Defer[\[Pi] \!\(
\*SubsuperscriptBox[\(\[Integral]\), \(a\), \(b\)]\(
\*SuperscriptBox[\((fn)\), \(2\)] \[DifferentialD]x\)\) ]],


(*matrices*)
"matrix"->ToBoxes[Defer[({{a, 0},{0, b}}).({{x},{y}})+({{c},{d}})]],
"matrixt"->ToBoxes[Defer[Transform[fn,{x,y},{{a,0},{0,b}},{c,d}]]],

(*function properties*)
"DR"->ToBoxes[Defer[DomRan[fn,x,y]]],
"FD"->ToBoxes[Defer[FunctionDomain[fn,x]]],
"FR"->ToBoxes[Defer[FunctionRange[fn,x,y]]],
"TL"->ToBoxes[Defer[TangentLine[fn,x,x-cord]]],
"NL"->ToBoxes[Defer[NormalLine[fn,x,x-cord]]],
"fmin"->ToBoxes[Defer[FMin[{fn,domain},x]]],
"fmax"->ToBoxes[Defer[FMax[{fn,domain,x}]]],
"finfo"->ToBoxes[Defer[Finfo[fn,{x,a,b}]]],
"piece"->ToBoxes[Defer[piecewise[{{fn,cond1},{fn,cond2},{fn,cond3}},var]]],
"manipulate"->ToBoxes[Defer[manipulate[Plot[fn,{x,-10,10}],{a,-5,5},{b,-5,5},{c,-5,5}]]],


(*probability*)

"nd"->ToBoxes[Defer[Pr[x,x\[Distributed]ND[\[Mu],\[Sigma]]]]],
"bd"->ToBoxes[Defer[Pr[x,x\[Distributed]BD[trials,prob]]]],
"comb"->ToBoxes[Defer[Binomial[n,m]]],
"perm"->ToBoxes[Defer[Binomial[n,m]*m!]],


(*answer manipulation*)
"RD"->ToBoxes[Defer[RatDenom[fn]]],
"rad"->ToBoxes[Defer[ToRadicals[fn]]],
"ra"->ToBoxes[Defer[RootApproximant]],
"fs"->ToBoxes[Defer[FullSimplify]]

}]


 Finfo[exp_, {x_, min_, max_}, opts : OptionsPattern[]] := 
 MatrixForm[{
   With[{s1 = Expand[exp] // TraditionalForm}, 
    Defer["Equation is" s1]],
   With[{s1 = FunctionDomain[{exp, min < x < max}, x]}, 
    Defer["Domain is" s1]], 
   With[{s1 = FunctionRange[{exp, min < x < max}, x, y]}, 
    Defer["Range is" s1]],
   With[{s1 = Thread[{Solve[{exp == 0, min < x < max}, x], 0}]}, 
    Defer["x intercepts are" s1]],
   With[{s1 = 
      Solve[y == exp && x == 0 && min < x < max, {x, y}, Reals][[All, 
        All, 2]]}, Defer["y intercepts are" s1]],
   With[{s1 = 
      Thread[{Solve[{D[
            D[If[ContainsAny[
               Join[Head /@ Level[exp, -1], {Head[exp]}], {ArcCos, 
                ArcSin, ArcTan}], exp, ComplexExpand[exp]], x], x] == 
           0, FunctionDomain[{exp, min <= x <= max}, x], 
          D[If[ContainsAny[
              Join[Head /@ Level[exp, -1], {Head[exp]}], {ArcCos, 
               ArcSin, ArcTan}], exp, ComplexExpand[exp]], {x, 3}] != 
           0}, x], 
        ReplaceAll[exp, x -> #] & /@ 
         Solve[{D[
             D[If[ContainsAny[
                Join[Head /@ Level[exp, -1], {Head[exp]}], {ArcCos, 
                 ArcSin, ArcTan}], exp, ComplexExpand[exp]], x], x] ==
             0, FunctionDomain[{exp, min <= x <= max}, x], 
           D[If[ContainsAny[
               Join[Head /@ Level[exp, -1], {Head[exp]}], {ArcCos, 
                ArcSin, ArcTan}], exp, ComplexExpand[exp]], {x, 3}] !=
             0}, x]}]}, Defer["Inflection points at" s1]]
   }, TableAlignments -> Left]
   
LolCircle[rel_,{x_: x,y_: y}]:=Module[{reg},reg=ImplicitRegion[ComplexExpand[rel],{x,y}];
{RegionCentroid[reg],Sqrt[Area[reg]/\[Pi]]}]


boxes=RowBox[{FractionBox["\[DifferentialD]",RowBox[{"\[DifferentialD]",x}]],boxes}];
DisplayForm[boxes];
dSpecificRules={d[x_,x_]:>1,d[(f_)[x_],x_]:>D[f[x],x],d[(a_)^(x_),x_]:>D[a^x,x]/;FreeQ[a,x]};
dConstantRule=d[c_,x_]:>0/;FreeQ[c,x];
dLinearityRule={d[f_+g_,x_]:>d[f,x]+d[g,x],d[c_ f_,x_]:>c d[f,x]/;FreeQ[c,x]};
dPowerRule={d[x_,x_]:>1,d[(x_)^(a_),x_]:>a*x^(a-1)/;FreeQ[a,x]};
dProductRule=d[f_ g_,x_]:>d[f,x] g+f d[g,x];
dQuotientRule=d[(f_)/(g_),x_]:>(d[f,x]*g-f*d[g,x])/g^2;
dInverseFunctionRule:=d[InverseFunction[f_][x_],x_]:>1/Derivative[1][f][InverseFunction[f][x]];
dChainRule={d[(f_)^(a_),x_]:>a*f^(a-1)*d[f,x]/;FreeQ[a,x],d[(a_)^(f_),x_]:>Log[a]*a^f*d[f,x]/;FreeQ[a,x],d[(f_)[g_],x_]:>(D[f[x],x]/.x->g)*d[g,x],d[(f_)^(g_),x_]:>f^g*d[g*Log[f],x]};
$dRuleNames={"Specific Rules","Constant Rule","Linearity Rule","Power Rule","Quotient Rule","Product Rule","Inverse Function Rule","Chain Rule"};
displayStart[expr_]:=CellPrint[Cell[BoxData[MakeBoxes[HoldForm[expr],TraditionalForm]],"Output",Evaluatable->False,CellMargins->{{Inherited,Inherited},{10,10}},CellFrame->False,CellEditDuplicate->False]];
displayDerivative[expr_,k_Integer]:=CellPrint[Cell[BoxData[TooltipBox[RowBox[{InterpretationBox["=",Sequence[]],"  ",MakeBoxes[HoldForm[expr],TraditionalForm]}],"Differentation: "<>$dRuleNames[[k]],LabelStyle->"TextStyling"]],"Output",Evaluatable->False,CellMargins->{{Inherited,Inherited},{10,10}},CellFrame->False,CellEditDuplicate->False]];
walkD::differentationError="Failed to differentiate expression!";
walkD[f_,x_]:=Module[{derivative,oldderivative,k},derivative=d[f,x];displayStart[derivative];
While[!FreeQ[derivative,d],oldderivative=derivative;k=0;
While[oldderivative==derivative,k++;
If[k>Length@$dRuleNames,Message[walkD::differentationError];
Return[D[f,x]];];
derivative=derivative/.ToExpression["d"<>StringReplace[$dRuleNames[[k]]," "->""]]];
displayDerivative[derivative,k]];
D[f,x]];
Format[int[f_,x_],TraditionalForm]:=(paren=MatchQ[f,Plus[_,__]];
boxes=RowBox[{f}];
If[paren,boxes=RowBox[{"(",boxes,")"}]];
boxes=RowBox[{boxes,"\[DifferentialD]",x}];
boxes=RowBox[{"\[Integral]",boxes}];
DisplayForm[boxes]);
intSpecificRules={int[(f_)[x_],x_]:>Integrate[f[x],x],int[(a_)^(x_),x_]:>Integrate[a^x,x]/;FreeQ[a,x]};
intConstantRule=int[c_,x_]:>c*x/;FreeQ[c,x];
intLinearityRule={int[f_+g_,x_]:>int[f,x]+int[g,x],int[c_ f_,x_]:>c int[f,x]/;FreeQ[c,x]};
intPowerRule={int[x_,x_]:>x^2/2,int[1/x_,x_]:>Log[x],int[(x_)^(a_),x_]:>x^(a+1)/(a+1)/;FreeQ[a,x]};
intSubstitutionRule={int[(f_)^(a_),x_]:>((Integrate[u^a,u]/d[f,x])/.u->f)/;FreeQ[a,x]&&FreeQ[D[f,x],x],int[(f_)^(a_) g_,x_]:>((Integrate[u^a,u]/d[f,x])*g/.u->f)/;FreeQ[a,x]&&FreeQ[FullSimplify[D[f,x]/g],x],int[(a_)^(f_),x_]:>(a^f)/(d[f,x]*Log[a])/;FreeQ[a,x]&&FreeQ[D[f,x],x],int[(a_)^(f_) g_,x_]:>(a^f)/(d[f,x]*Log[a])*g/;FreeQ[a,x]&&FreeQ[FullSimplify[D[f,x]/g],x],int[(f_)[g_],x_]:>(Integrate[f[u],u]/.u->g)/d[g,x]/;FreeQ[D[g,x],x],int[(f_)[g_] h_,x_]:>(Integrate[f[u],u]/.u->g)/d[g,x]*h/;FreeQ[FullSimplify[D[g,x]/h],x]};
intProductRule=int[f_ g_,x_]:>int[f,x] g-int[int[f,x]*d[g,x],x];
$intRuleNames={"Specific Rules","Constant Rule","Linearity Rule","Power Rule","Substitution Rule","Product Rule"};
displayIntegral[expr_,k_Integer]:=CellPrint[Cell[BoxData[TooltipBox[RowBox[{InterpretationBox["=",Sequence[]],"  ",MakeBoxes[HoldForm[expr],TraditionalForm]}],"Integration: "<>$intRuleNames[[k]],LabelStyle->"TextStyling"]],"Output",Evaluatable->False,CellMargins->{{Inherited,Inherited},{10,10}},CellFrame->False,CellEditDuplicate->False]];
walkInt::integrationError="Failed to integrate expression!";
walkInt::differentationError="Failed to differentiate expression!";
walkInt[f_,x_]:=Module[{integral,oldintegral,k,leafcounts,ruleused},integral=int[f,x];displayStart[integral];
leafcounts={};
ruleused="";
While[!FreeQ[integral,int],If[ruleused=="Product Rule",AppendTo[leafcounts,LeafCount@integral];
If[Length@leafcounts>=5&&OrderedQ@Take[leafcounts,-5],Message[walkInt::integrationError];
Return[Integrate[f,x]];];];
oldintegral=integral;k=0;
While[oldintegral==integral,k++;
If[k>Length@$intRuleNames,Message[walkInt::integrationError];
Return[Integrate[f,x]];];
integral=integral/.ToExpression["int"<>StringReplace[$intRuleNames[[k]]," "->""]]];
ruleused=$intRuleNames[[k]];
displayIntegral[integral,k];
While[!FreeQ[integral,d],oldintegral=integral;k=0;
While[oldintegral==integral,k++;
If[k>Length@$dRuleNames,Message[walkInt::differentationError];
Return[Integrate[f,x]];];
integral=integral/.ToExpression["d"<>StringReplace[$dRuleNames[[k]]," "->""]]];
displayDerivative[integral,k]];];
Integrate[f,x]];


 End[]
