Theory FOCUS

Up to index of Isabelle/HOLCF/FOCUS

theory FOCUS
imports Fstream
begin

(*  Title:      HOLCF/FOCUS/FOCUS.thy
    ID:         $Id: FOCUS.thy,v 1.5 2006/06/01 21:53:29 huffman Exp $
    Author:     David von Oheimb, TU Muenchen
*)

header {* Top level of FOCUS *}

theory FOCUS
imports Fstream
begin

lemma ex_eqI [intro!]: "? xx. x = xx"
by auto

lemma ex2_eqI [intro!]: "? xx yy. x = xx & y = yy"
by auto

lemma eq_UU_symf: "(UU = f x) = (f x = UU)"
by auto

lemma fstream_exhaust_slen_eq: "(#x ~= 0) = (? a y. x = a~> y)"
by (simp add: slen_empty_eq fstream_exhaust_eq)

lemmas [simp] =
  slen_less_1_eq fstream_exhaust_slen_eq
  slen_fscons_eq slen_fscons_less_eq Suc_ile_eq

declare strictI [elim]

end

lemma ex_eqI:

  xx. x = xx

lemma ex2_eqI:

  xx yy. x = xxy = yy

lemma eq_UU_symf:

  (UU = f x) = (f x = UU)

lemma fstream_exhaust_slen_eq:

  (#x  0) = (∃a y. x = a~>y)

lemma

  (#x < Fin (Suc 0)) = (x = UU)
  (#x  0) = (∃a y. x = a~>y)
  (Fin (Suc n) < #x) = (∃a y. x = a~>y ∧ Fin n < #y)
  (#(a~>y) < Fin (Suc (Suc n))) = (#y < Fin (Suc n))
  (Fin (Suc m)  n) = (Fin m < n)