The Theory fixp
Parents
hol
Constants
monotonic
('a SET rarr.gif 'b SET) rarr.gif BOOL
lfp
('a SET rarr.gif 'a SET) rarr.gif 'a SET
gfp
('a SET rarr.gif 'a SET) rarr.gif 'a SET
cc2monof
('a rarr.gif 'b) cross.gif ('a rarr.gif 'b SET) rarr.gif 'b SET rarr.gif 'b SET
closure
('a rarr.gif 'b) cross.gif ('a rarr.gif 'b SET) rarr.gif 'b SET
IndPair
(BOOL rarr.gif 'a)
fillrarr.gif ('a LIST rarr.gif ONE + 'b) cross.gif ('a LIST rarr.gif ONE + 'b)
fillrarr.gif 'a LIST
fillrarr.gif ONE + 'b
IndInL
(BOOL rarr.gif 'a) rarr.gif ('a LIST rarr.gif ONE + 'b) rarr.gif 'a LIST rarr.gif ONE + 'b
IndInR
(BOOL rarr.gif 'a) rarr.gif ('a LIST rarr.gif ONE + 'b) rarr.gif 'a LIST rarr.gif ONE + 'b
IndSum
(BOOL rarr.gif 'a)
fillrarr.gif ('a LIST rarr.gif ONE + 'b) + ('a LIST rarr.gif ONE + 'b)
fillrarr.gif 'a LIST
fillrarr.gif ONE + 'b
IndList
(nat.gif rarr.gif 'a)
fillrarr.gif ('a LIST rarr.gif ONE + 'b) LIST
fillrarr.gif 'a LIST
fillrarr.gif ONE + 'b
Definitions
monotonic
turnstil.gif forall.gif fbull.gif monotonic f equiv.gif (forall.gif x ybull.gif x sube.gif y ruarr.gif f x sube.gif f y)
lfp
turnstil.gif forall.gif fbull.gif lfp f = lcap.gif {X|f X sube.gif X}
gfp
turnstil.gif forall.gif fbull.gif gfp f = lcup.gif {X|X sube.gif f X}
cc2monof
turnstil.gif forall.gif tor tent
fillbull.gif cc2monof (tor, tent)
fill= (lambda.gif s
fillbull.gif s cup.gif {t|exist.gif u vbull.gif u = tent v and.gif u sube.gif s and.gif t = tor v})
closure
turnstil.gif forall.gif tor tent
fillbull.gif closure (tor, tent) = lfp (cc2monof (tor, tent))
IndPair
turnstil.gif forall.gif i l r h t
fillbull.gif IndPair i (l, r) [] = InL One
filland.gif IndPair i (l, r) (Cons h t)
fill= (if h = i F
fillthen l t
fillelse if h = i T
fillthen r t
fillelse InL One)
IndInL
turnstil.gif forall.gif i j h t
fillbull.gif IndInL i j [] = InL One
filland.gif IndInL i j (Cons h t)
fill= (if h = i F then j t else InL One)
IndInR
turnstil.gif forall.gif i j h t
fillbull.gif IndInR i j [] = InL One
filland.gif IndInR i j (Cons h t)
fill= (if h = i T then j t else InL One)
IndSum
turnstil.gif forall.gif i j h t
fillbull.gif IndSum i j [] = InL One
filland.gif IndSum i j (Cons h t)
fill= (if IsL j
fillthen if h = i F then OutL j t else InL One
fillelse if h = i T
fillthen OutR j t
fillelse InL One)
IndList
turnstil.gif forall.gif i ha ta hb tb
fillbull.gif IndList i [] tb = InL One
filland.gif IndList i (Cons ha ta) [] = InL One
filland.gif IndList i (Cons ha ta) (Cons hb tb)
fill= (if exist.gif jbull.gif hb = i j and.gif j < Length ta
fillthen IndList i ta (Cons hb tb)
fillelse if hb = i (Length ta)
fillthen ha tb
fillelse InL One)
Theorems
least_fixpoint_thm
turnstil.gif forall.gif hbull.gif monotonic h ruarr.gif h (lfp h) = lfp h
lfp_min_thm
turnstil.gif forall.gif hbull.gif monotonic h ruarr.gif (forall.gif gbull.gif h g = g ruarr.gif lfp h sube.gif g)
lfp_induction_thm
turnstil.gif forall.gif hbull.gif monotonic h ruarr.gif (forall.gif sbull.gif h s sube.gif s ruarr.gif lfp h sube.gif s)
greatest_fixpoint_thm
turnstil.gif forall.gif hbull.gif monotonic h ruarr.gif h (gfp h) = gfp h
gfp_max_thm
turnstil.gif forall.gif hbull.gif monotonic h ruarr.gif (forall.gif gbull.gif h g = g ruarr.gif g sube.gif gfp h)
gfp_coinduction_thm
turnstil.gif forall.gif hbull.gif monotonic h ruarr.gif (forall.gif sbull.gif s sube.gif h s ruarr.gif s sube.gif gfp h)
mono_cc2monof_thm
turnstil.gif forall.gif tor tentbull.gif monotonic (cc2monof (tor, tent))
closure_thm1
turnstil.gif forall.gif tor tent s x y
fillbull.gif tent x = s and.gif s sube.gif closure (tor, tent) and.gif y = tor x
fillruarr.gif y isin.gif closure (tor, tent)
closure_induction_thm
turnstil.gif forall.gif tor tent p
fillbull.gif (forall.gif xbull.gif (exist.gif ybull.gif tor y = x and.gif tent y sube.gif p) ruarr.gif x isin.gif p)
fillruarr.gif closure (tor, tent) sube.gif p

up quick index

V