yr [      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ(c) Masahiro Sakai 2011-2013 BSD-stylemasahiro.sakai@gmail.com provisional6non-portable (ScopedTypeVariables, DeriveDataTypeable) Safe-Inferred+M,Endpoints of intervalsThe intervals (i.e.1 connected and convex subsets) over real numbers R.Lower endpoint (i.e.( greatest lower bound) of the interval. of the empty interval is [.! of a left unbounded interval is \.; of an interval may or may not be a member of the interval.Upper endpoint (i.e.$ least upper bound) of the interval. of the empty interval is \." of a right unbounded interval is [.; of an interval may or may not be a member of the interval.q of the interval and whether it is included in the interval. The result is convenient to use as an argument for .q of the interval and whether it is included in the interval. The result is convenient to use as an argument for .smart constructor for closed interval [l,u]!left-open right-closed interval (l,u] !left-closed right-open interval [l, u) open interval (l, u) whole real number line (-", ") empty (contradicting) interval singleton set [x,x]intersection of two intervals$intersection of a list of intervals. Since 0.6.0convex hull of two intervals#convex hull of a list of intervals. Since 0.6.0Is the interval empty?Is the element in the interval?#Is the element not in the interval?Is this a subset? (i1 `` i2) tells whether i1 is a subset of i2.Is this a proper subset? (i.e. a subset but not equal).7Width of a interval. Width of an unbounded interval is  undefined.Bpick up an element from the interval if the interval is not empty.: returns the simplest rational number within the interval.A rational number y is said to be simpler than another y' if] (^ y) <= ] (^ y'), and_ y <= _ y'. (see also `) Since 0.4.0For all x in X, y in Y. x a y?For all x in X, y in Y. x b y?For all x in X, y in Y. x c y?For all x in X, y in Y. x d y? Since 1.0.1For all x in X, y in Y. x e y?For all x in X, y in Y. x f y? Does there exist an x in X, y in Y such that x a y?!Does there exist an x in X, y in Y such that x a y? Since 1.0.0"Does there exist an x in X, y in Y such that x b y?#Does there exist an x in X, y in Y such that x b y? Since 1.0.0$Does there exist an x in X, y in Y such that x c y? Since 1.0.0%Does there exist an x in X, y in Y such that x c y? Since 1.0.0&Does there exist an x in X, y in Y such that x d y? Since 1.0.1'Does there exist an x in X, y in Y such that x d y? Since 1.0.1(Does there exist an x in X, y in Y such that x e y?)Does there exist an x in X, y in Y such that x f y?*Does there exist an x in X, y in Y such that x e y? Since 1.0.0+Does there exist an x in X, y in Y such that x f y? Since 1.0.0Dg&lower bound and whether it is included&upper bound and whether it is included lower bound l upper bound u lower bound l upper bound u  lower bound l upper bound u  lower bound l upper bound u h !"#$%&'()*+ijklmnopqrstuvwxyz{|}~3\[  !"#$%&'()*+,  "$()&!#%*+'Cg h !"#$%&'()*+ijklmnopqrstuvwxyz{|}~   !"#$%&'()*+(c) Masahiro Sakai 2011-2014 BSD-stylemasahiro.sakai@gmail.com provisional6non-portable (ScopedTypeVariables, DeriveDataTypeable) Safe-Inferred+M/,The intervals (i.e.. connected and convex subsets) over integers (Z).-Lower endpoint (i.e.( greatest lower bound) of the interval.- of the empty interval is [.-! of a left unbounded interval is \.-; of an interval may or may not be a member of the interval..Upper endpoint (i.e.$ least upper bound) of the interval.. of the empty interval is \.." of a right unbounded interval is [.., of an interval is a member of the interval./-q of the interval and whether it is included in the interval. The result is convenient to use as an argument for 1.0.q of the interval and whether it is included in the interval. The result is convenient to use as an argument for 1.1smart constructor for 2closed interval [l,u]3!left-open right-closed interval (l,u]4!left-closed right-open interval [l, u)5open interval (l, u)6whole real number line (-", ")7empty (contradicting) interval8singleton set [x,x]9intersection of two intervals:$intersection of a list of intervals.;convex hull of two intervals<#convex hull of a list of intervals.=Is the interval empty?>Is the element in the interval??#Is the element not in the interval?@Is this a subset? (i1 `@` i2) tells whether i1 is a subset of i2.AIs this a proper subset? (i.e. a subset but not equal).B7Width of a interval. Width of an unbounded interval is  undefined.CBpick up an element from the interval if the interval is not empty.DD: returns the simplest rational number within the interval. An integer y is said to be simpler than another y' if] y <= ] y, and (see also approxRational)EFor all x in X, y in Y. x a y?FFor all x in X, y in Y. x b y?GFor all x in X, y in Y. x c y?HFor all x in X, y in Y. x d y?IFor all x in X, y in Y. x e y?JFor all x in X, y in Y. x f y?KDoes there exist an x in X, y in Y such that x a y?LDoes there exist an x in X, y in Y such that x a y?MDoes there exist an x in X, y in Y such that x b y?NDoes there exist an x in X, y in Y such that x b y?ODoes there exist an x in X, y in Y such that x c y?PDoes there exist an x in X, y in Y such that x c y?QDoes there exist an x in X, y in Y such that x d y?RDoes there exist an x in X, y in Y such that x d y?SDoes there exist an x in X, y in Y such that x e y?TDoes there exist an x in X, y in Y such that x f y?UDoes there exist an x in X, y in Y such that x e y?VDoes there exist an x in X, y in Y such that x f y?WConvert the interval to  data type.XConversion from  data type.YGiven a  I over R, compute the smallest , J such that I " J.ZGiven a  I over R, compute the largest , J such that J " I.?,-./01&lower bound and whether it is included&upper bound and whether it is included2 lower bound l upper bound u3 lower bound l upper bound u4 lower bound l upper bound u5 lower bound l upper bound u6789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ6\[,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ/,12345678=>?@A-./0BEFGIJHKMOSTQLNPUVR9:;<CDWXYZ>,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ2345EFGHIJKLMNOPQRSTUV      !"#$%&'()*+,-./     0 !"#$%&'()*+,-.12345675689:;9<=9<>9?@ABCABDABEABFABGABHIJKLMNOPQRSTUVWXYZ[\]^_56`56a56b56c56dIJKefghijklmnopqdata-interval-1.2.0 Data.IntervalData.IntegerIntervalEndPointInterval lowerBound upperBound lowerBound' upperBound'interval<=..<=<..<=<=..<<..<wholeempty singleton intersection intersectionshullhullsnullmember notMember isSubsetOfisProperSubsetOfwidthpickupsimplestRationalWithin=!>!=?>?>=??>??IntegerIntervalsimplestIntegerWithin toInterval fromIntervalfromIntervalOverfromIntervalUnderextended-reals-0.2.0.0Data.ExtendedRealPosInfNegInfbaseGHC.NumabsGHC.Real numerator denominator Data.RatioapproxRationalghc-prim GHC.Classes<<===/=>=> isSingletonappPrec scaleIntervalcmpUBcmpLB scaleInf' scaleEndPointmulInf'recipLBrecipUB$fFractionalInterval $fNumInterval$fDataInterval$fReadInterval$fShowInterval$fBoundedLatticeInterval $fBoundedMeetSemiLatticeInterval $fBoundedJoinSemiLatticeInterval$fLatticeInterval$fMeetSemiLatticeInterval$fJoinSemiLatticeInterval$fHashableInterval$fNFDataInterval isInfiniteisFiniteinfFiniteExtended$fNumIntegerInterval$fDataIntegerInterval$fReadIntegerInterval$fShowIntegerInterval$fBoundedLatticeIntegerInterval'$fBoundedMeetSemiLatticeIntegerInterval'$fBoundedJoinSemiLatticeIntegerInterval$fLatticeIntegerInterval $fMeetSemiLatticeIntegerInterval $fJoinSemiLatticeIntegerInterval$fHashableIntegerInterval$fNFDataIntegerInterval