Idris2Doc : Algebra.Ring

Algebra.Ring

(source)

Definitions

0LeftDistributive : Op2a->Op2a->Type
  Proposition that multiplication distributes over addition

Totality: total
Visibility: public export
0MultZeroLeftAbsorbs : a->Op2a->Type
  Proposition that multiplication by zero returns zero

Totality: total
Visibility: public export
0MinusAssociative : Op2a->Op2a->Type
  Proposition that subtraction is associative with addition.

Totality: total
Visibility: public export
0ZeroMinus : a->Op2a->Op2a->Type
  Proposition that subtraction from zero is a left inverse.

Totality: total
Visibility: public export
recordRig : (a : Type) ->a->a->Op2a->Op2a->Type
Totality: total
Visibility: public export
Constructor: 
MkRig : CommutativeMonoidazp->CommutativeMonoidaom->LeftDistributivepm->MultZeroLeftAbsorbszm->Rigazopm

Projections:
.leftDistributive : Rigazopm->LeftDistributivepm
.mult : Rigazopm->CommutativeMonoidaom
.multZeroLeftAbsorbs : Rigazopm->MultZeroLeftAbsorbszm
0.multZeroRightAbsorbs : Rigazopm->x `m` z=z
  Zero is an absorbing element of multiplication.
.plus : Rigazopm->CommutativeMonoidazp
0.rightDistributive : Rigazopm-> (y `p` v) `m` x= (y `m` x) `p` (v `m` x)
  Multiplication is distributive with respect to addition.
.plus : Rigazopm->CommutativeMonoidazp
Totality: total
Visibility: public export
plus : Rigazopm->CommutativeMonoidazp
Totality: total
Visibility: public export
.mult : Rigazopm->CommutativeMonoidaom
Totality: total
Visibility: public export
mult : Rigazopm->CommutativeMonoidaom
Totality: total
Visibility: public export
.leftDistributive : Rigazopm->LeftDistributivepm
Totality: total
Visibility: public export
leftDistributive : Rigazopm->LeftDistributivepm
Totality: total
Visibility: public export
.multZeroLeftAbsorbs : Rigazopm->MultZeroLeftAbsorbszm
Totality: total
Visibility: public export
multZeroLeftAbsorbs : Rigazopm->MultZeroLeftAbsorbszm
Totality: total
Visibility: public export
0.multZeroRightAbsorbs : Rigazopm->x `m` z=z
  Zero is an absorbing element of multiplication.

Totality: total
Visibility: export
0.rightDistributive : Rigazopm-> (y `p` v) `m` x= (y `m` x) `p` (v `m` x)
  Multiplication is distributive with respect to addition.

Totality: total
Visibility: export
multZeroAbsorbs : Rigazopm->Either (x=z) (y=z) ->x `m` y=z
  Zero is an absorbing element of multiplication.

Totality: total
Visibility: export
0NatRig : RigNat01(+)(*)
Totality: total
Visibility: export
recordRing : (a : Type) ->a->a->Op2a->Op2a->Op2a->Type
Totality: total
Visibility: public export
Constructor: 
MkRing : CommutativeMonoidazp->CommutativeMonoidaom->LeftDistributivepm->MinusAssociativepsub->ZeroMinuszpsub->Ringazopmsub

Projections:
.leftDistributive : Ringazopmsub->LeftDistributivepm
.minusAssociative : Ringazopmsub->MinusAssociativepsub
0.minusIsPlusLeft : Ringazopmsub->x `sub` y= (z `sub` y) `p` x
0.minusIsPlusRight : Ringazopmsub->x `sub` y=x `p` (z `sub` y)
0.minusSelf : Ringazopmsub->x `sub` x=z
.mult : Ringazopmsub->CommutativeMonoidaom
0.multMinusOneLeft : Ringazopmsub-> (z `sub` o) `m` x=z `sub` x
0.multMinusOneRight : Ringazopmsub->x `m` (z `sub` o) =z `sub` x
0.multNegLeft : Ringazopmsub-> (z `sub` x) `m` y=z `sub` (x `m` y)
0.multNegRight : Ringazopmsub->x `m` (z `sub` y) =z `sub` (x `m` y)
0.multZeroLeftAbsorbs : Ringazopmsub->z `m` x=z
0.multZeroRightAbsorbs : Ringazopmsub->x `m` z=z
0.negMultNeg : Ringazopmsub-> (z `sub` x) `m` (z `sub` y) =x `m` y
0.negMultNegLeft : Ringazopmsub->z `sub` ((z `sub` x) `m` y) =x `m` y
0.negMultNegRight : Ringazopmsub->z `sub` (x `m` (z `sub` y)) =x `m` y
0.plus : Ringazopmsub->AbelianGroupaz (\{arg:0}=>z `sub` {arg:0}) p
.plusMon : Ringazopmsub->CommutativeMonoidazp
0.rig : Ringazopmsub->Rigazopm
.zeroMinus : Ringazopmsub->ZeroMinuszpsub
.plusMon : Ringazopmsub->CommutativeMonoidazp
Totality: total
Visibility: public export
plusMon : Ringazopmsub->CommutativeMonoidazp
Totality: total
Visibility: public export
.mult : Ringazopmsub->CommutativeMonoidaom
Totality: total
Visibility: public export
mult : Ringazopmsub->CommutativeMonoidaom
Totality: total
Visibility: public export
.leftDistributive : Ringazopmsub->LeftDistributivepm
Totality: total
Visibility: public export
leftDistributive : Ringazopmsub->LeftDistributivepm
Totality: total
Visibility: public export
.minusAssociative : Ringazopmsub->MinusAssociativepsub
Totality: total
Visibility: public export
minusAssociative : Ringazopmsub->MinusAssociativepsub
Totality: total
Visibility: public export
.zeroMinus : Ringazopmsub->ZeroMinuszpsub
Totality: total
Visibility: public export
zeroMinus : Ringazopmsub->ZeroMinuszpsub
Totality: total
Visibility: public export
0.plus : Ringazopmsub->AbelianGroupaz (\{arg:0}=>z `sub` {arg:0}) p
Totality: total
Visibility: export
0.multZeroRightAbsorbs : Ringazopmsub->x `m` z=z
Totality: total
Visibility: export
0.multZeroLeftAbsorbs : Ringazopmsub->z `m` x=z
Totality: total
Visibility: export
0.rig : Ringazopmsub->Rigazopm
Totality: total
Visibility: export
0.minusSelf : Ringazopmsub->x `sub` x=z
Totality: total
Visibility: export
0.minusIsPlusRight : Ringazopmsub->x `sub` y=x `p` (z `sub` y)
Totality: total
Visibility: export
0.minusIsPlusLeft : Ringazopmsub->x `sub` y= (z `sub` y) `p` x
Totality: total
Visibility: export
0.multNegRight : Ringazopmsub->x `m` (z `sub` y) =z `sub` (x `m` y)
Totality: total
Visibility: export
0.negMultNegRight : Ringazopmsub->z `sub` (x `m` (z `sub` y)) =x `m` y
Totality: total
Visibility: export
0.multNegLeft : Ringazopmsub-> (z `sub` x) `m` y=z `sub` (x `m` y)
Totality: total
Visibility: export
0.negMultNegLeft : Ringazopmsub->z `sub` ((z `sub` x) `m` y) =x `m` y
Totality: total
Visibility: export
0.multMinusOneRight : Ringazopmsub->x `m` (z `sub` o) =z `sub` x
Totality: total
Visibility: export
0.multMinusOneLeft : Ringazopmsub-> (z `sub` o) `m` x=z `sub` x
Totality: total
Visibility: export
0.negMultNeg : Ringazopmsub-> (z `sub` x) `m` (z `sub` y) =x `m` y
Totality: total
Visibility: export
0ring_bits8 : RingBits801(+)(*)(-)
Totality: total
Visibility: export
0ring_bits16 : RingBits1601(+)(*)(-)
Totality: total
Visibility: export
0ring_bits32 : RingBits3201(+)(*)(-)
Totality: total
Visibility: export
0ring_bits64 : RingBits6401(+)(*)(-)
Totality: total
Visibility: export
0ring_int8 : RingInt801(+)(*)(-)
Totality: total
Visibility: export
0ring_int16 : RingInt1601(+)(*)(-)
Totality: total
Visibility: export
0ring_int32 : RingInt3201(+)(*)(-)
Totality: total
Visibility: export
0ring_int64 : RingInt6401(+)(*)(-)
Totality: total
Visibility: export
0ring_integer : RingInteger01(+)(*)(-)
Totality: total
Visibility: export