Type Declarations
diff --git a/docs/RefMan/_build/html/_sources/RefMan.rst.txt b/docs/RefMan/_build/html/_sources/RefMan.rst.txt
index 0d33b469..47cfd9b2 100644
--- a/docs/RefMan/_build/html/_sources/RefMan.rst.txt
+++ b/docs/RefMan/_build/html/_sources/RefMan.rst.txt
@@ -701,6 +701,119 @@ Functions
f p1 p2 = e // Function definition
+
+********************************************************************************
+Overloaded Operations
+********************************************************************************
+
+Equality
+========
+
+.. code-block:: cryptol
+
+ Eq
+ (==) : {a} (Eq a) => a -> a -> Bit
+ (!=) : {a} (Eq a) => a -> a -> Bit
+ (===) : {a, b} (Eq b) => (a -> b) -> (a -> b) -> (a -> Bit)
+ (!==) : {a, b} (Eq b) => (a -> b) -> (a -> b) -> (a -> Bit)
+
+Comparisons
+===========
+
+.. code-block:: cryptol
+
+ Cmp
+ (<) : {a} (Cmp a) => a -> a -> Bit
+ (>) : {a} (Cmp a) => a -> a -> Bit
+ (<=) : {a} (Cmp a) => a -> a -> Bit
+ (>=) : {a} (Cmp a) => a -> a -> Bit
+ min : {a} (Cmp a) => a -> a -> a
+ max : {a} (Cmp a) => a -> a -> a
+ abs : {a} (Cmp a, Ring a) => a -> a
+
+
+Signed Comparisons
+==================
+
+.. code-block:: cryptol
+
+ SignedCmp
+ (<$) : {a} (SignedCmp a) => a -> a -> Bit
+ (>$) : {a} (SignedCmp a) => a -> a -> Bit
+ (<=$) : {a} (SignedCmp a) => a -> a -> Bit
+ (>=$) : {a} (SignedCmp a) => a -> a -> Bit
+
+
+Zero
+====
+
+.. code-block:: cryptol
+
+ Zero
+ zero : {a} (Zero a) => a
+
+Logical Operations
+==================
+
+.. code-block:: cryptol
+
+ Logic
+ (&&) : {a} (Logic a) => a -> a -> a
+ (||) : {a} (Logic a) => a -> a -> a
+ (^) : {a} (Logic a) => a -> a -> a
+ complement : {a} (Logic a) => a -> a
+
+Basic Arithmetic
+================
+
+.. code-block:: cryptol
+
+ Ring
+ fromInteger : {a} (Ring a) => Integer -> a
+ (+) : {a} (Ring a) => a -> a -> a
+ (-) : {a} (Ring a) => a -> a -> a
+ (*) : {a} (Ring a) => a -> a -> a
+ negate : {a} (Ring a) => a -> a
+ (^^) : {a, e} (Ring a, Integral e) => a -> e -> a
+
+Integral Operations
+===================
+
+.. code-block:: cryptol
+
+ Integral
+ (/) : {a} (Integral a) => a -> a -> a
+ (%) : {a} (Integral a) => a -> a -> a
+ (^^) : {a, e} (Ring a, Integral e) => a -> e -> a
+ toInteger : {a} (Integral a) => a -> Integer
+ infFrom : {a} (Integral a) => a -> [inf]a
+ infFromThen : {a} (Integral a) => a -> a -> [inf]a
+
+
+Division
+========
+
+.. code-block:: cryptol
+
+ Field
+ recip : {a} (Field a) => a -> a
+ (/.) : {a} (Field a) => a -> a -> a
+
+Rounding
+========
+
+.. code-block:: cryptol
+
+ Round
+ ceiling : {a} (Round a) => a -> Integer
+ floor : {a} (Round a) => a -> Integer
+ trunc : {a} (Round a) => a -> Integer
+ roundAway : {a} (Round a) => a -> Integer
+ roundToEven : {a} (Round a) => a -> Integer
+
+
+
+
********************************************************************************
Type Declarations
********************************************************************************
diff --git a/docs/RefMan/_build/html/searchindex.js b/docs/RefMan/_build/html/searchindex.js
index 6d89bd72..999f2fcb 100644
--- a/docs/RefMan/_build/html/searchindex.js
+++ b/docs/RefMan/_build/html/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["RefMan"],envversion:{"sphinx.domains.c":1,"sphinx.domains.changeset":1,"sphinx.domains.cpp":1,"sphinx.domains.javascript":1,"sphinx.domains.math":2,"sphinx.domains.python":1,"sphinx.domains.rst":1,"sphinx.domains.std":1,"sphinx.ext.todo":1,sphinx:55},filenames:["RefMan.rst"],objects:{},objnames:{},objtypes:{},terms:{"0b1010":0,"0b1010111":0,"0b11010":0,"0b11111110":0,"0b_0000_0010":0,"0o1234":0,"0o376":0,"0x01":0,"0x02":0,"0x03":0,"0x04":0,"0x1234":0,"0x30":0,"0x_ffff_ffea":0,"0xfe":0,"1p4":0,"2e3":0,"case":0,"float":0,"new":0,"public":0,"short":0,"static":0,"true":0,"while":0,For:0,Not:0,One:0,Such:0,The:0,There:0,These:0,Uses:0,Using:0,abbrevi:0,about:0,abov:0,accommod:0,added:0,addit:0,after:0,all:0,allow:0,alphabet:0,also:0,ani:0,anoth:0,appear:0,appli:0,applic:0,arbitrarili:0,arithmet:0,arr:0,aspect:0,associ:0,assumpt:0,automat:0,avoid:0,back:0,backtick:0,baddef:0,base:0,becaus:0,begin:0,behavior:0,belong:0,between:0,binari:0,bind:0,bitvector:0,bodi:0,both:0,bound:0,brace:0,branch:0,bring:0,can:0,cannot:0,ceil:0,charact:0,checker:0,chosen:0,clash:0,claus:0,close:0,closest:0,code:0,collect:0,collis:0,combin:0,comma:0,compar:0,comparison:0,complex:0,compon:0,comprehens:0,comput:0,concaten:0,consid:0,consist:0,constraint:0,construct:0,contain:0,context:0,conveni:0,correspond:0,could:0,creat:0,cry:0,cryptolpath:0,curli:0,current:0,cut:0,data:0,decim:0,defin:0,definit:0,defint:0,degre:0,descript:0,design:0,determin:0,differ:0,digit:0,dimension:0,directli:0,directori:0,distance2:0,distinct:0,divis:0,document:0,doe:0,down:0,downward:0,e11:0,e12:0,e21:0,e22:0,each:0,easi:0,easier:0,effect:0,either:0,element:0,els:0,enclos:0,end:0,english:0,entri:0,enumer:0,equal:0,equat:0,equival:0,evalu:0,even:0,everi:0,everyth:0,exact:0,examin:0,exampl:0,except:0,exclus:0,exist:0,expon:0,exponenti:0,extend:0,extern:0,extract:0,fals:0,famili:0,few:0,file:0,fin:0,finit:0,first:0,fix:0,follow:0,form:0,fraction:0,from:0,front:0,gener:0,get:0,getfst:0,glu:0,good:0,group:0,had:0,handi:0,happen:0,has:0,hash:0,have:0,help:0,helper1:0,helper2:0,helper:0,here:0,hexadecim:0,highest:0,hold:0,howev:0,implement:0,implic:0,improv:0,includ:0,indent:0,index:0,indic:0,inf:0,infer:0,infinit:0,infixl:0,infixr:0,inform:0,inhabit:0,instead:0,insuffici:0,integ:0,intend:0,introduc:0,invalid:0,irrelev:0,isposit:0,its:0,itself:0,just:0,kind:0,known:0,label:0,lambda:0,languag:0,larg:0,last:0,left:0,length:0,less:0,let:0,letter:0,lexicograph:0,lg2:0,lift:0,like:0,line:0,locat:0,logarithm:0,logic:0,longer_nam:0,longernam:0,look:0,lowest:0,mai:0,make:0,mani:0,mark:0,match:0,max:0,maximum:0,mean:0,mechan:0,member:0,mention:0,might:0,min:0,minimum:0,mirror:0,modulu:0,more:0,moreov:0,most:0,multipl:0,must:0,name1:0,name2:0,need:0,negat:0,nest:0,newt:0,none:0,notat:0,note:0,number:0,obtain:0,octal:0,often:0,old:0,one:0,onli:0,open:0,option:0,order:0,ordinari:0,organ:0,other:0,otherwis:0,outsid:0,overload:0,overview:0,p11:0,p12:0,p21:0,p22:0,packag:0,pad:0,pair:0,paramet:0,paren:0,parenthes:0,pass:0,pattern:0,place:0,point:0,pointwis:0,polymorph:0,polynomi:0,posit:0,possibl:0,practic:0,pragma:0,pre:0,precis:0,previou:0,prime:0,primit:0,primtiv:0,principl:0,process:0,program:0,programm:0,project:0,properti:0,provid:0,purpos:0,quickli:0,quit:0,ration:0,readabl:0,recurs:0,redesign:0,reduc:0,reject:0,rel:0,relat:0,remain:0,repl:0,replac:0,repres:0,represent:0,result:0,right:0,rotat:0,round:0,same:0,scope:0,search:0,second:0,section:0,see:0,selector:0,separ:0,seq:0,set:0,sha256:0,shape:0,shift:0,should:0,sign:0,similarli:0,simpl:0,singl:0,site:0,situat:0,size:0,some:0,sometim:0,sourc:0,special:0,specifi:0,split:0,start:0,step:0,stream:0,stride:0,structur:0,sub:0,subtract:0,suffici:0,sugar:0,suitabl:0,sum:0,support:0,symbol:0,tabl:0,tend:0,term:0,termin:0,text:0,than:0,thei:0,them:0,thi:0,those:0,though:0,three:0,through:0,thu:0,togeth:0,top:0,transpar:0,treat:0,two:0,typaram:0,typecheck:0,typeclass:0,unari:0,underscor:0,understand:0,unfold:0,unlik:0,updateend:0,updatesend:0,use:0,used:0,useful:0,user:0,uses:0,using:0,usual:0,valid:0,variabl:0,varieti:0,variou:0,via:0,wai:0,want:0,weakest:0,when:0,where:0,wherea:0,which:0,whole:0,why:0,width:0,wise:0,without:0,word:0,work:0,would:0,write:0,written:0,xpo:0,you:0,ypo:0,zero:0},titles:["Cryptol Reference Manual"],titleterms:{"function":0,"import":0,access:0,annot:0,argument:0,basic:0,bit:0,block:0,built:0,call:0,comment:0,condit:0,cryptol:0,declar:0,demot:0,explicit:0,express:0,field:0,hide:0,hierarch:0,identifi:0,infix:0,instanti:0,keyword:0,layout:0,level:0,list:0,liter:0,local:0,manual:0,modul:0,name:0,newtyp:0,numer:0,oper:0,parameter:0,preced:0,prefix:0,privat:0,qualifi:0,record:0,refer:0,sequenc:0,signatur:0,synonym:0,syntax:0,todo:0,tupl:0,type:0,updat:0,valu:0}})
\ No newline at end of file
+Search.setIndex({docnames:["RefMan"],envversion:{"sphinx.domains.c":1,"sphinx.domains.changeset":1,"sphinx.domains.cpp":1,"sphinx.domains.javascript":1,"sphinx.domains.math":2,"sphinx.domains.python":1,"sphinx.domains.rst":1,"sphinx.domains.std":1,"sphinx.ext.todo":1,sphinx:55},filenames:["RefMan.rst"],objects:{},objnames:{},objtypes:{},terms:{"0b1010":0,"0b1010111":0,"0b11010":0,"0b11111110":0,"0b_0000_0010":0,"0o1234":0,"0o376":0,"0x01":0,"0x02":0,"0x03":0,"0x04":0,"0x1234":0,"0x30":0,"0x_ffff_ffea":0,"0xfe":0,"1p4":0,"2e3":0,"case":0,"float":0,"new":0,"public":0,"short":0,"static":0,"true":0,"while":0,For:0,Not:0,One:0,Such:0,The:0,There:0,These:0,Uses:0,Using:0,abbrevi:0,about:0,abov:0,abs:0,accommod:0,added:0,addit:0,after:0,all:0,allow:0,alphabet:0,also:0,ani:0,anoth:0,appear:0,appli:0,applic:0,arbitrarili:0,arithmet:[],arr:0,aspect:0,assert:[],associ:0,assumpt:0,automat:0,avoid:0,back:0,backtick:0,baddef:0,base:0,becaus:0,begin:0,behavior:0,belong:0,between:0,binari:0,bind:0,bitvector:0,bodi:0,both:0,bound:0,brace:0,branch:0,bring:0,can:0,cannot:0,ceil:0,charact:0,checker:0,chosen:0,clash:0,claus:0,close:0,closest:0,cmp:0,code:0,collect:0,collis:0,combin:0,comma:0,compar:0,comparison:[],complement:0,complex:0,compon:0,comprehens:0,comput:0,concaten:0,consid:0,consist:0,constraint:0,construct:0,contain:0,context:0,conveni:0,correspond:0,could:0,creat:0,cry:0,cryptolpath:0,curli:0,current:0,cut:0,data:0,decim:0,defin:0,definit:0,defint:0,degre:0,descript:0,design:0,determin:0,differ:0,digit:0,dimension:0,directli:0,directori:0,distance2:0,distinct:0,divis:[],document:0,doe:0,down:0,downward:0,e11:0,e12:0,e21:0,e22:0,each:0,easi:0,easier:0,effect:0,either:0,element:0,els:0,enclos:0,end:0,english:0,entri:0,enumer:0,equal:[],equat:0,equival:0,evalu:0,even:0,everi:0,everyth:0,exact:0,examin:0,exampl:0,except:0,exclus:0,exist:0,expon:0,exponenti:0,extend:0,extern:0,extract:0,fals:0,famili:0,few:0,file:0,fin:0,finit:0,first:0,fix:0,fliter:[],floor:0,follow:0,form:0,fraction:0,from:0,frominteg:0,front:0,gener:0,get:0,getfst:0,glu:0,good:0,group:0,had:0,handi:0,happen:0,has:0,hash:0,have:0,help:0,helper1:0,helper2:0,helper:0,here:0,hexadecim:0,highest:0,hold:0,howev:0,implement:0,implic:0,improv:0,includ:0,indent:0,index:0,indic:0,inf:0,infer:0,inffrom:0,inffromthen:0,infinit:0,infixl:0,infixr:0,inform:0,inhabit:0,instead:0,insuffici:0,integ:0,integr:[],intend:0,introduc:0,invalid:0,irrelev:0,isposit:0,its:0,itself:0,just:0,kind:0,known:0,label:0,lambda:0,languag:0,larg:0,last:0,left:0,length:0,less:0,let:0,letter:0,lexicograph:0,lg2:0,lift:0,like:0,line:0,literallessthan:[],locat:0,logarithm:0,logic:[],longer_nam:0,longernam:0,look:0,lowest:0,mai:0,make:0,mani:0,mark:0,match:0,max:0,maximum:0,mean:0,mechan:0,member:0,mention:0,might:0,min:0,minimum:0,mirror:0,modulu:0,more:0,moreov:0,most:0,multipl:0,must:0,name1:0,name2:0,need:0,negat:0,nest:0,newt:0,none:0,notat:0,note:0,number:0,obtain:0,octal:0,often:0,old:0,one:0,onli:0,open:0,option:0,order:0,ordinari:0,organ:0,other:0,otherwis:0,outsid:0,overload:[],overview:0,p11:0,p12:0,p21:0,p22:0,packag:0,pad:0,pair:0,paramet:0,paren:0,parenthes:0,pass:0,pattern:0,place:0,point:0,pointwis:0,polymorph:0,polynomi:0,posit:0,possibl:0,practic:0,pragma:0,pre:0,precis:0,previou:0,prime:0,primit:0,primtiv:0,principl:0,process:0,program:0,programm:0,project:0,properti:0,provid:0,purpos:0,quickli:0,quit:0,ration:0,readabl:0,recip:0,recurs:0,redesign:0,reduc:0,reject:0,rel:0,relat:0,remain:0,rep:[],repl:0,replac:0,repres:0,represent:0,result:0,right:0,ring:0,rotat:0,round:[],roundawai:0,roundtoeven:0,same:0,scope:0,search:0,second:0,section:0,see:0,selector:0,separ:0,seq:0,set:0,sha256:0,shape:0,shift:0,should:0,sign:[],signedcmp:0,similarli:0,simpl:0,singl:0,site:0,situat:0,size:0,some:0,sometim:0,sourc:0,special:0,specifi:0,split:0,start:0,step:0,stream:0,stride:0,structur:0,sub:0,subtract:0,suffici:0,sugar:0,suitabl:0,sum:0,support:0,symbol:0,tabl:0,tend:0,term:0,termin:0,text:0,than:0,thei:0,them:0,thi:0,those:0,though:0,three:0,through:0,thu:0,togeth:0,tointeg:0,top:0,transpar:0,treat:0,trunc:0,two:0,typaram:0,typecheck:0,typeclass:0,unari:0,underscor:0,understand:0,unfold:0,unlik:0,updateend:0,updatesend:0,use:0,used:0,useful:0,user:0,uses:0,using:0,usual:0,val:[],valid:0,variabl:0,varieti:0,variou:0,via:0,wai:0,want:0,weakest:0,when:0,where:0,wherea:0,which:0,whole:0,why:0,width:0,wise:0,without:0,word:0,work:0,would:0,write:0,written:0,xpo:0,you:0,ypo:0,zero:[]},titles:["Cryptol Reference Manual"],titleterms:{"function":0,"import":0,access:0,annot:0,argument:0,arithmet:0,basic:0,bit:0,block:0,built:0,call:0,comment:0,comparison:0,condit:0,cryptol:0,declar:0,demot:0,divis:0,equal:0,explicit:0,express:0,field:0,hide:0,hierarch:0,identifi:0,infix:0,instanti:0,integr:0,keyword:0,layout:0,level:0,list:0,liter:0,local:0,logic:0,manual:0,modul:0,name:0,newtyp:0,numer:0,oper:0,overload:0,parameter:0,preced:0,prefix:0,privat:0,qualifi:0,record:0,refer:0,round:0,sequenc:0,sign:0,signatur:0,synonym:0,syntax:0,todo:0,tupl:0,type:0,updat:0,valu:0,zero:0}})
\ No newline at end of file