\input{Algebraic_foundations_ref/intro.tex}

%basics
%concepts
\input{Algebraic_foundations_ref/FromIntConstructible.tex}
\input{Algebraic_foundations_ref/FromDoubleConstructible.tex}

%Coercion_traits
%concepts: 
\input{Algebraic_foundations_ref/ExplicitInteroperable.tex} 
\input{Algebraic_foundations_ref/ImplicitInteroperable.tex} 
\input{Algebraic_foundations_ref/Coercion_traits.tex} 

%Algebraic Structure
%include concepts
\input{Algebraic_foundations_ref/IntegralDomainWithoutDivision.tex}
\input{Algebraic_foundations_ref/IntegralDomain.tex}
\input{Algebraic_foundations_ref/UniqueFactorizationDomain.tex}
\input{Algebraic_foundations_ref/EuclideanRing.tex}
\input{Algebraic_foundations_ref/Field.tex}
\input{Algebraic_foundations_ref/FieldWithSqrt.tex}
\input{Algebraic_foundations_ref/FieldWithKthRoot.tex}
\input{Algebraic_foundations_ref/FieldWithRootOf.tex}

\input{Algebraic_foundations_ref/AlgebraicStructureTraits.tex}
\input{Algebraic_foundations_ref/AlgebraicStructureTraits_IsZero.tex}
\input{Algebraic_foundations_ref/AlgebraicStructureTraits_IsOne.tex}
\input{Algebraic_foundations_ref/AlgebraicStructureTraits_Square.tex}
\input{Algebraic_foundations_ref/AlgebraicStructureTraits_Simplify.tex}
\input{Algebraic_foundations_ref/AlgebraicStructureTraits_UnitPart.tex}
\input{Algebraic_foundations_ref/AlgebraicStructureTraits_IntegralDivision.tex}
\input{Algebraic_foundations_ref/AlgebraicStructureTraits_Divides.tex}
\input{Algebraic_foundations_ref/AlgebraicStructureTraits_IsSquare.tex}
\input{Algebraic_foundations_ref/AlgebraicStructureTraits_Gcd.tex}
\input{Algebraic_foundations_ref/AlgebraicStructureTraits_DivMod.tex}
\input{Algebraic_foundations_ref/AlgebraicStructureTraits_Div.tex}
\input{Algebraic_foundations_ref/AlgebraicStructureTraits_Mod.tex}
\input{Algebraic_foundations_ref/AlgebraicStructureTraits_Inverse.tex}
\input{Algebraic_foundations_ref/AlgebraicStructureTraits_Sqrt.tex}
\input{Algebraic_foundations_ref/AlgebraicStructureTraits_KthRoot.tex}
\input{Algebraic_foundations_ref/AlgebraicStructureTraits_RootOf.tex}

%AS classes
\input{Algebraic_foundations_ref/Algebraic_structure_traits.tex}
\input{Algebraic_foundations_ref/Integral_domain_without_division_tag.tex}
\input{Algebraic_foundations_ref/Integral_domain_tag.tex}
\input{Algebraic_foundations_ref/Unique_factorization_domain_tag.tex}
\input{Algebraic_foundations_ref/Euclidean_ring_tag.tex}
\input{Algebraic_foundations_ref/Field_tag.tex}
\input{Algebraic_foundations_ref/Field_with_sqrt_tag.tex}
\input{Algebraic_foundations_ref/Field_with_kth_root_tag.tex}
\input{Algebraic_foundations_ref/Field_with_root_of_tag.tex}


%AS functions
\input{Algebraic_foundations_ref/is_zero.tex}
\input{Algebraic_foundations_ref/is_one.tex}
\input{Algebraic_foundations_ref/square.tex}
\input{Algebraic_foundations_ref/is_square.tex}
\input{Algebraic_foundations_ref/simplify.tex}
\input{Algebraic_foundations_ref/unit_part.tex}
\input{Algebraic_foundations_ref/integral_division.tex}
\input{Algebraic_foundations_ref/gcd.tex}
\input{Algebraic_foundations_ref/div_mod.tex}
\input{Algebraic_foundations_ref/div.tex}
\input{Algebraic_foundations_ref/mod.tex}
\input{Algebraic_foundations_ref/inverse.tex}
\input{Algebraic_foundations_ref/sqrt.tex}
\input{Algebraic_foundations_ref/kth_root.tex}
\input{Algebraic_foundations_ref/root_of.tex}


%RET
\input{Algebraic_foundations_ref/RealEmbeddable.tex}
\input{Algebraic_foundations_ref/RealEmbeddableTraits.tex}
\input{Algebraic_foundations_ref/RealEmbeddableTraits_IsZero.tex}
\input{Algebraic_foundations_ref/RealEmbeddableTraits_Abs.tex}
\input{Algebraic_foundations_ref/RealEmbeddableTraits_Sgn.tex}
\input{Algebraic_foundations_ref/RealEmbeddableTraits_IsPositive.tex}
\input{Algebraic_foundations_ref/RealEmbeddableTraits_IsNegative.tex}
\input{Algebraic_foundations_ref/RealEmbeddableTraits_Compare.tex}
\input{Algebraic_foundations_ref/RealEmbeddableTraits_ToDouble.tex}
\input{Algebraic_foundations_ref/RealEmbeddableTraits_ToInterval.tex}
%\input{Algebraic_foundations_ref/RealEmbeddableTraits_IsFinite.tex}
%\input{Algebraic_foundations_ref/RealEmbeddableTraits_ToDoubleInterval.tex}

%RET classes 
\input{Algebraic_foundations_ref/Real_embeddable_traits.tex}

%RET  functions 
\input{Algebraic_foundations_ref/abs.tex}
\input{Algebraic_foundations_ref/sign.tex}
\input{Algebraic_foundations_ref/is_positive.tex}
\input{Algebraic_foundations_ref/is_negative.tex}
\input{Algebraic_foundations_ref/compare.tex}
\input{Algebraic_foundations_ref/to_double.tex}
\input{Algebraic_foundations_ref/to_interval.tex}
%\input{Algebraic_foundations_ref/is_finite.tex}

%FractionTraits
\input{Algebraic_foundations_ref/Fraction.tex}
\input{Algebraic_foundations_ref/FractionTraits.tex}
\input{Algebraic_foundations_ref/FractionTraits_Decompose.tex}
\input{Algebraic_foundations_ref/FractionTraits_Compose.tex}
\input{Algebraic_foundations_ref/FractionTraits_CommonFactor.tex}
\input{Algebraic_foundations_ref/Fraction_traits.tex}

%Miscellaneous

\input{Algebraic_foundations_ref/RingNumberType.tex}
\input{Algebraic_foundations_ref/FieldNumberType.tex}


