Represents the successor of a natural number in the Peano arithmetic system.
A Successor object encapsulates a natural number, providing various operations for arithmetic and representation. It extends the Natural trait and defines the following functionalities:
next: Returns the next natural number by creating a new Successor object.
add: Recursively adds another natural number to this natural number.
toString: Returns a Roman numeral representation of the natural number.
Value parameters
natural
A natural number representing the predecessor of this number.
Attributes
Constructor
Creates a Successor object with the given natural number.
Multiplies the current natural number by the given natural number.
Multiplies the current natural number by the given natural number.
This method performs multiplication using a tail-recursive helper function. It repeatedly adds the current number to an accumulator based on the value of the given n.
Value parameters
n
the natural number to multiply with the current number
Attributes
Returns
the result of the multiplication as a natural number
Subtracts the given natural number n from this natural number. The subtraction operation is defined for natural numbers (non-negative integers). If the result would be negative, the method returns None.
Subtracts the given natural number n from this natural number. The subtraction operation is defined for natural numbers (non-negative integers). If the result would be negative, the method returns None.
Value parameters
n
the natural number to subtract from this natural number
Attributes
Returns
an Option[Natural] containing the result of the subtraction if non-negative, otherwise None