CurryInfo: binint-3.1.0 / Data.BinInt.-^

definition: Info
 
(-^) :: Nat -> Nat -> BinInt
IHi     -^ y     = inc (Neg y)           -- 1-n = 1+(-n)
x@(O _) -^ IHi   = Pos (pred x)          --
(O x)   -^ (O y) = mult2 (x -^ y)
(O x)   -^ (I y) = dec (mult2 (x -^ y))
(I x)   -^ IHi   = Pos (O x)
(I x)   -^ (O y) = inc (mult2 (x -^ y))  -- 2*n+1 - 2*m = 1+2*(n-m)
(I x)   -^ (I y) = mult2 (x -^ y)        -- 2*n+1 - (2*m+1) = 2*(n-m)
demand: Info
 argument 1
deterministic: Info
 deterministic operation
documentation: Info
 
Subtraction
failfree: Info
 (_, _)
indeterministic: Info
 referentially transparent operation
infix: Info
 no fixity defined
iotype: Info
 {({IHi},_) |-> {Neg,Pos,Zero} || ({O},{IHi}) |-> {Pos} || ({O},{O}) |-> {Neg,Pos,Zero} || ({O},{I}) |-> {Neg,Pos,Zero} || ({I},{IHi}) |-> {Pos} || ({I},{O}) |-> {Neg,Pos,Zero} || ({I},{I}) |-> {Neg,Pos,Zero}}
name: Info
 -^
precedence: Info
 no precedence defined
result-values: Info
 {Neg,Pos,Zero}
signature: Info
 Nat -> Nat -> BinInt
solution-complete: Info
 operation might suspend on free variables
terminating: Info
 yes
totally-defined: Info
 possibly non-reducible on same data term