Idris2Doc : Control.Relation.Trichotomy

Control.Relation.Trichotomy

(source)

Definitions

dataTrichotomy : (a->a->Type) ->a->a->Type
  Trichotomy formalises the fact that three relations are mutually
exclusive. A value of type `Trichotomy lt m n` proofs, that
exactly one of the relations `lt m n`, `m === n`, or `lt n m` holds.

All proofs held by a value of type `Trichotomous` are erased, so
at runtime such values get optimized to numbers 0, 1, or 2
respectively.

Totality: total
Visibility: public export
Constructors:
LT : (0_ : ltvw) -> (0_ : Not (v=w)) -> (0_ : Not (ltwv)) ->Trichotomyltvw
EQ : (0_ : Not (ltvw)) -> (0_ : v=w) -> (0_ : Not (ltwv)) ->Trichotomyltvw
GT : (0_ : Not (ltvw)) -> (0_ : Not (v=w)) -> (0_ : ltwv) ->Trichotomyltvw

Hints:
Eq (Trichotomyltmn)
Ord (Trichotomyltmn)
Show (Trichotomyltmn)
conIndex : Trichotomyltmn->Bits8
Totality: total
Visibility: public export
toOrdering : Trichotomyltmn->Ordering
Totality: total
Visibility: public export
swap : Trichotomyltmn->Trichotomyltnm
Totality: total
Visibility: public export
interfaceTrichotomous : (a : Type) -> (a->a->Type) ->Type
Parameters: a, rel
Constructor: 
MkTrichotomous

Methods:
trichotomy : (m : a) -> (n : a) ->Trichotomyrelmn

Implementation: 
Strictarel->Trichotomousarel
trichotomy : Trichotomousarel=> (m : a) -> (n : a) ->Trichotomyrelmn
Totality: total
Visibility: public export
interfaceStrict : (a : Type) -> (a->a->Type) ->Type
Parameters: a, rel
Constraints: Transitive a rel, Trichotomous a rel
Constructor: 
MkStrict
0irreflexive : Trichotomousarel=>relxx->Void
Totality: total
Visibility: public export
0Not_LT_and_GT : Trichotomousalt=>ltmn->Not (ltnm)
  `m < n` implies `Not (m > n)`.

Totality: total
Visibility: export
0Not_LT_and_EQ : Trichotomousalt=>ltmn->Not (m=n)
  `m < n` implies `Not (m === n)`.

Totality: total
Visibility: export
0Not_LT_and_GTE : Trichotomousalt=>ltmn->Not (ReflexiveClosureltnm)
  `m < n` implies `Not (m >= n)`.

Totality: total
Visibility: export