Package probability-thm: Properties of probability

Information

nameprobability-thm
version1.20
descriptionProperties of probability
authorJoe Leslie-Hurd <joe@gilith.com>
licenseMIT
provenanceHOL Light theory extracted on 2015-04-28
checksum273c4473bc1871452598224e52ad2659944977cd
requiresbase
probability-def
stream
showData.Bool
Data.List
Data.Pair
Data.Stream
Function
Number.Natural
Probability.Random

Files

Theorems

b. r. bit r b

n r. length (bits n r) = n

r1 r2. r. split r = (r1, r2)

f n r. length (random f n r) = n

n l. length l = n r. bits n r = l

f n l. surjective f length l = n r. random f n r = l

n r.
    Geometric.random.loop n r =
    let (r1, r2) split r in
    if bit r1 then n else Geometric.random.loop (n + 1) r2

f n r.
    random f n r =
    if n = 0 then []
    else let (r1, r2) split r in f r1 :: random f (n - 1) r2

External Type Operators

External Constants

Assumptions

bits = random bit

length [] = 0

p. p

(¬) = λp. p

t. (x. t) t

t. (x. t) t

t. (λx. t x) = t

() = λp. p = λx.

t. t t

t. t

n. ¬(suc n = 0)

r. fromStream (toStream r) = r

s. toStream (fromStream s) = s

r. bit r head (toStream r)

s. head s = nth s 0

() = λp q. p q p

m. suc m = m + 1

n. suc n - 1 = n

t1 t2. (if then t1 else t2) = t2

t1 t2. (if then t1 else t2) = t1

a n. nth (replicate a) n = a

p x. p x p ((select) p)

f r. random f 0 r = []

x. a b. x = (a, b)

x y. x = y y = x

h t. length (h :: t) = suc (length t)

m. m = 0 n. m = suc n

s1 s2. split (interleave s1 s2) = (s1, s2)

() = λp q. (λf. f p q) = λf. f

f. surjective f y. x. y = f x

() = λp. q. (x. p x q) q

() = λp q. r. (p r) (q r) r

f. fn. a b. fn (a, b) = f a b

p. p 0 (n. p n p (suc n)) n. p n

p. p [] (h t. p t p (h :: t)) l. p l

r.
    split r =
    let (s1, s2) split (toStream r) in (fromStream s1, fromStream s2)

n r.
    Geometric.random.loop n r =
    let (r1, r2) split r in
    if bit r1 then n else Geometric.random.loop (suc n) r2

f r n.
    random f (suc n) r = let (r1, r2) split r in f r1 :: random f n r2