module Deduce(ded, turnstile, (|-), eps) where import SlideWare import Symbol ded :: [Pict] -> Pict -> Pict ded ps c = let t = label "top" (hblAppend (spacing gapSize : ps)) l = lineWidth 2 $ line (findLB "top" t, findRB "top" t) tl = ltSuperimpose [t, l] tlc = vcAppend [tl, c] in tlc turnstile :: Pict turnstile = let b = label "b" $ blank (gapSize * 0.5) (gapSize * 0.6) lv = line (findLB "b" b, findLT "b" b) hv = line (findLC "b" b, findRC "b" b) ts = lineWidth 2 $ ltSuperimpose [lv, hv] in ccSuperimpose [ts, blank 0 gapSize] (|-) :: Pict -> Pict -> Pict a |- b = hblAppend [spacing (gapSize/3), a, turnstile, b] x `eps` y = hblAppend [x, sepsilon, y]