Arithmetic over nullables, typed #
Each lifted operator has its plain counterpart's signature with an Option around every argument
and around the result, so add? : Term (Option α) → Term (Option α) → Env (Term (Option α)) under
the same IsArith α. Everything the plain operator checks is checked here.
The lift is strict: none unless every argument is some.
cotangent lifted over nullables, strictly: none unless every argument is some.
Equations
- arg.cotangent? = Cvc.Untyped.Term.cotangent? arg
Instances For
ge? over two or more terms.
Equations
- Cvc.Typed.Term.geN? terms atLeastTwoElements = Cvc.Untyped.Term.geN? terms atLeastTwoElements
Instances For
mul? over two or more terms.
Equations
- Cvc.Typed.Term.mulN? terms atLeastTwoElements = Cvc.Untyped.Term.mulN? terms atLeastTwoElements
Instances For
arccotangent lifted over nullables, strictly: none unless every argument is some.
Equations
Instances For
intDivTotal? over two or more terms.
Equations
- Cvc.Typed.Term.intDivTotalN? terms atLeastTwoElements = Cvc.Untyped.Term.intDivTotalN? terms atLeastTwoElements
Instances For
arcsecant lifted over nullables, strictly: none unless every argument is some.
Equations
- arg.arcsecant? = Cvc.Untyped.Term.arcsecant? arg
Instances For
arccosecant lifted over nullables, strictly: none unless every argument is some.
Equations
Instances For
intDivTotal lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.intDivTotal? rgt = Cvc.Untyped.Term.intDivTotal? lft rgt
Instances For
intModTotal lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.intModTotal? rgt = Cvc.Untyped.Term.intModTotal? lft rgt
Instances For
gt? over two or more terms.
Equations
- Cvc.Typed.Term.gtN? terms atLeastTwoElements = Cvc.Untyped.Term.gtN? terms atLeastTwoElements
Instances For
intDiv? over two or more terms.
Equations
- Cvc.Typed.Term.intDivN? terms atLeastTwoElements = Cvc.Untyped.Term.intDivN? terms atLeastTwoElements
Instances For
realDivTotal? over two or more terms.
Equations
- Cvc.Typed.Term.realDivTotalN? terms atLeastTwoElements = Cvc.Untyped.Term.realDivTotalN? terms atLeastTwoElements
Instances For
lt? over two or more terms.
Equations
- Cvc.Typed.Term.ltN? terms atLeastTwoElements = Cvc.Untyped.Term.ltN? terms atLeastTwoElements
Instances For
realDivTotal lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.realDivTotal? rgt = Cvc.Untyped.Term.realDivTotal? lft rgt
Instances For
sub? over two or more terms.
Equations
- Cvc.Typed.Term.subN? terms atLeastTwoElements = Cvc.Untyped.Term.subN? terms atLeastTwoElements
Instances For
realDiv? over two or more terms.
Equations
- Cvc.Typed.Term.realDivN? terms atLeastTwoElements = Cvc.Untyped.Term.realDivN? terms atLeastTwoElements
Instances For
le? over two or more terms.
Equations
- Cvc.Typed.Term.leN? terms atLeastTwoElements = Cvc.Untyped.Term.leN? terms atLeastTwoElements
Instances For
arccosine lifted over nullables, strictly: none unless every argument is some.
Equations
- arg.arccosine? = Cvc.Untyped.Term.arccosine? arg
Instances For
arctangent lifted over nullables, strictly: none unless every argument is some.
Equations
- arg.arctangent? = Cvc.Untyped.Term.arctangent? arg
Instances For
add? over two or more terms.
Equations
- Cvc.Typed.Term.addN? terms atLeastTwoElements = Cvc.Untyped.Term.addN? terms atLeastTwoElements