OQYT367KXCQGIZPWQXNFQB627WJGYD6T5WF4KBBXQKHN2SXL554QC TN3PKVP3EMBILQKHDKEJMCJU5U6E3BLDQMMIUV2WE3XQ4HTCPBRAC XGXJVBQB7LVLGIHMQYZRP53X7XBKDXFM4TFWDF3ZFZRPMCYPF4IAC XNPLRKJ4ZK442XNJ5BC7TO3DKXGXFSOSGBZBPW5HZZDHY3IVD6FAC LDJ4DDJZJV3W2UZIK6USOW5IADAWHDYM3EMZNCBFDKCXFYVS3WCAC XJZ5YZW6TIBBMPL2TGEA2ERD2UYZ4PIXNSV25ETLUVPLDM3RA5EQC LHFSZWK3U3RF4SBC2OY44PQ47GDELJ4NZOVRR2OBK3YVNNYKSDLAC , Data.PrimInteger
module Data.PrimIntegerimport Builtinimport Algebra.Relation.Equivalenceimport Algebra.Relation.Preorderimport Algebra.Relation.Order%default totalpublic exportEquivalence Integer whereEquiv x y = (prim__eq_Integer x y = 1)decEquiv x y with (prim__eq_Integer x y)decEquiv _ _ | 1 = Yes RefldecEquiv _ _ | _ = No ?decEquivpublic exportPreorder Integer whereLTE x y = (prim__lte_Integer x y = 1)decLTE x y with (prim__lte_Integer x y)decLTE _ _ | 1 = Yes RefldecLTE _ _ | _ = No ?decLTEproofReflexivity = believe_me ()proofTransitivity = believe_me ()public exportOrder Integer whereLT x y = (prim__lt_Integer x y = 1)decLT x y with (prim__lt_Integer x y)decLT _ _ | 1 = Yes RefldecLT _ _ | _ = No ?decLT
-- FromInteger--public exportfromInteger : (x : Integer) -> {auto ok : x `GTE` 0} -> NaturalfromInteger 0 = ZerofromInteger x = case (decGTE (prim__sub_Integer x 1) 0) ofYes p => Succesor $ assert_total $ fromInteger $ prim__sub_Integer x 1No cp => void $ believe_me ()%integerLit fromInteger--
public exportdecGTE : Preorder t => (x, y : t) -> Dec (y `LTE` x)decGTE x y = decLTE y x
public exportdecGT : Order t => (x, y : t) -> Dec (y `LT` x)decGT x y = decLT y x