(* The type float represents the set of numbers who can be written:  	
   x = n*b^p with  n and p in Z. (pdic numbers)				
   n = Fnum and p = Fexp 						*)
 
Record float : Set := Float {Fnum : Z; Fexp : Z}.(* The type float represents the set of numbers who can be written:  	
   x = n*b^p with  n and p in Z. (pdic numbers)				
   n = Fnum and p = Fexp 						*)
 
Record float : Set := Float {Fnum : Z; Fexp : Z}.(* The type float represents the set of numbers who can be written:  	
   x = n*b^p with  n and p in Z. (pdic numbers)				
   n = Fnum and p = Fexp 						*)
 
Record float : Set := Float {Fnum : Z; Fexp : Z}.(* The type float represents the set of numbers who can be written:  	
   x = n*b^p with  n and p in Z. (pdic numbers)				
   n = Fnum and p = Fexp 						*)
 
Record float : Set := Float {Fnum : Z; Fexp : Z}.

(* Specifications: *)
Theorem floatEq : forall p q : float, Fnum p = Fnum q -> Fexp p = Fexp q -> p = q.
Theorem floatDec : forall x y : float, {x = y} + {x <> y}.