------------------------------------------------------------------------
-- The Agda standard library
--
-- Rational Literals
------------------------------------------------------------------------

{-# OPTIONS --without-K --safe #-}

module Data.Rational.Literals where

open import Agda.Builtin.FromNat
open import Agda.Builtin.FromNeg
open import Data.Unit
open import Data.Nat
open import Data.Nat.Coprimality
open import Data.Integer
open import Data.Rational hiding (-_)

fromℤ :   
fromℤ z = record
  { numerator     = z
  ; denominator-1 = zero
  ; isCoprime     = sym (1-coprimeTo  z )
  }

number : Number 
number = record
  { Constraint = λ _  
  ; fromNat    = λ n  fromℤ (+ n)
  }

negative : Negative 
negative = record
  { Constraint = λ _  
  ; fromNeg    = λ n  fromℤ (- (+ n))
  }