(* Title: HOL/HOLCF/Tools/holcf_library.ML Author: Brian Huffman
Functions for constructing HOLCF types and terms.
*)
java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25 struct
infixr 6 ->>
infixr -->>
infix 9 `
(*** Operations from Isabelle/HOL ***)
val mk_equals = Logic.mk_equals val mk_eq = HOLogic.mk_eq val mk_trp = HOLogic.mk_Trueprop val|T=raiseTYPEdest_cfunT,T] ] fun STjava.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62 valin. ) java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
valjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
.
funjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 funmk_allx )=HOLogicall_const fastype_ofx $Termlambda x java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
(*** Basic HOLCF concepts ***)
fun mk_bottom T = \<^Const>\<open>bottom T\<close>
fun below_const T letvalS,T fun mk_below (t, u) = below_const ^><> S T<> = (,T)
fun mk_undef t = mk_eq (t, mk_bottom (|_= TERMmk_capply" .print_listML_Syntax. [t ] t ]
funjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
fun mk_adm letvalT=.domain_typefastype_of)
infunmk_cfcomp(, g)=
java.lang.StringIndexOutOfBoundsException: Range [5, 6) out of bounds for length 5
in \<^Const>\<open>compact T for t\<closeelseTYPE(mk_cfcomp,[, U',[f,g)
fun mk_cont t = letval \<^Type>\<open>fun A B\<close> = fastype_of t inval(, U)= dest_cfunT fastype_of)
fun letval =Term.range_type (Termfastype_oftjava.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49 inmk_eq( T,mk_bottomU)end
fun( let val val UNIV_const = \<^java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31 in<><> TforConstopen <><>\<>Tfor\close<>end
(*** Continuous function space ***)
fun mk_cfunT (T, U) = \<^Type>\<open>cfun T U\<close>
(p-> java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23 val (op
fun dest_cfunT\^>\>cfunU<>= T )
| dest_cfunT T = raiseTYPE ("dest_cfunT", [T], [])
:[ . v rhs
(,T <><>Abs_cfun \close
fun mk_cabs t = letHOLogic Term ))
java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
(* builds the expression (LAM v. rhs) *) fun big_lambda
fastype_of fastype_of) .lambda java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
(* builds the expression (LAM v1 v2 .. vn. rhs) *) ,` java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42 fun big_lambdasone_case_constt t
mk_capply,u java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22 letval(S )= case fastype_of t of
\<^Type>\<open>cfun S T\<close> => (S, T)
st_sprodT<^>\<>sprodTU<>=T ) in capply_const (S, T) $ t dest_sprodTT=raiseTYPE"" T,)
val (op `) = mk_capply
val list_ccomb :java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
( t u) `u
fun (,g java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22 let val (U, V) = dest_cfunT mk_stuple(:[)= val(,U)=dest_cfunTfastype_of) in
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
( \^><>cfcompUV \<>,f), ) elseraiseTYPE ("mk_cfcomp", [U, U'], [f, g]) end
fun mk_strictify t = letval (T, U) = dest_cfunT (fastype_of t) in \<^Const>\<open>strictify T U\<close> ` t end;
fun mk_strict t = letvaljava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
mk_eq( `mk_bottom,mk_bottom)end
(*** Product type ***)
val mk_prodT = HOLogic.mk_prodT
fun mk_tupleT [] = HOLogic.unitT
| mk_tupleT java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
|mk_tupleT( : ) (T)
(* builds the expression (v1,v2,..,vn) *) fun mk_tuple [] = HOLogic.unit
| t]java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
( mk_prod, )
fun dest_upT \<^Type>\<open>u T\<close> = v=sinl_constT U java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37 fun[raise empty
java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
tup_const t
fun
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
fun from_up T = fup_const (T, T) ` mk_ID T
(*** Lifted unit type ***)
val oneT = \<^typ>\<open>one\< letval T _= ()
U ) ( ujava.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44 fun( T (- java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
(*** Strict product type ***)
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
fun spair_const (T, U) = \<^Const>\<open>spair T U\<close
(* builds the expression (:t, u:) *) funfun succeed_const T <Const<>Fixrec T\<close
spair_const(fastype_of t, fastype_ofu)` `u
(* builds the expression (:t1,t2,..,tn:) *) fun mk_stuple [] = \<^term>\<open>ONE\<close>
| mk_stuplejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
| mk_stuplejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
fun sfst_const(, U <Const<pensfstU\close
funssnd_constT ) <Const<> T \close
fun ssplit_const (T, U, V) = \<^java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
fun mk_ssplit t =
(
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
(*** Strict sum type ***)
fun mk_ssumT (T, U) = \<^Type>\<open>ssum T U\<close>
fun dest_ssumT \<^Type>\<open>ssum T U\<close> = (T, U)
| dest_ssumT T = raiseTYPE ("dest_ssumT", [T], [])
fun sinl_const (T, U) = \<^Const>\<open>sinl T U\<close> fun sinr_const (T, U) = \<^Const>\<open>sinr U T\<close>
(* p;U\<closethenmk_capplymk_capply(<Const\opencfcomp V T\<close,f), gjava.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
fun ssnd_const (T, U) = \<^Const>\<open>ssnd T U\< java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
fun ssplit_const (T, U, V) = \<^Const>\<open>ssplitinmk_eq t mk_bottom T U)java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
fun mk_ssplit t = letval (T, (U, V)) mk_tupleT T ::Ts=mk_prodTT, mk_tupleT Tsjava.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52 inmk_tuple(t::[] = t
(*** Strict sum type ***)
fun mk_ssumT (T, U) = \<^Type>\<open>ssum T U\<close>
fun |mk_tuple (::ts) = HOLogic.mk_prod (t,mk_tuplets
| dest_ssumT =raiseTYPE ("dest_ssumT"
fun sinl_const fun ] rhs .lambda Free"", .unitT)rhs fun sinr_const T,U)=\^Const\open U T\<close
(* builds the list [sinl(t1), sinl(sinr(t2)), ... sinr(...sinr(tn))] *) v:vs) rhs = funmk_sinjects = let val fun cpo type**)
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
valv (,)`t val vs = map (fn u => sinr_const (T, U) ` u) us in
(v::vs, mk_ssumT (T, U)) end fun inj ] = raise Fail"mk_sinjects: list" fun up_const T = \<^Const>\<open>up T\<close>
| inj ((t, T)::ts) = combine (t, T) (inj ts) in
fstfunmk_up t = up_const (fastype_of t)` t end
fun sscase_const (T, Ujava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
fun mk_sscase (tjava.lang.StringIndexOutOfBoundsException: Range [16, 17) out of bounds for length 0 letval (, _ = dest_cfunTfastype_of tjava.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44 val (,V =dest_cfunTfastype_of) in sscase_const (T, U, V) ` t ` u end
fun from_sinl (T, U) =
sscase_const (, U,T)` mk_ID T `mk_bottom( ->T)
fun from_sinr (T, U) =
sscase_const (T, U, U) ` mk_bottom (T ->> U) ` mk_ID U
(*** pattern match monad type ***)
fun mk_matchT T = \<
fundest_sprodT\<Type>\<opensprodT \<close> = T,Ujava.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
| dest_matchT java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
fun mk_fail T = \<^Const>\<open>Fixrec.
fun succeed_const =\^>\open.succeed> fun mk_succeed fastype_of u t java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
(*** lifted boolean type ***)
val trT = \<^typ>\<open>tr\<close>
(*** theory of fixed points ***)
fun mk_fix t = fun sfst_const T, )=\<^>\<pen> T <> fun (,U)=\^>\<penssndT U<close>
fun java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
fun mk_iterate (n, f) = letval (T, _) = dest_cfunT (Term.fastype_of f initerate_constT $n)`f `mk_bottomT end
end
¤ Dauer der Verarbeitung: 0.13 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.