src/CCL/Term.ML
changeset 1087 c1ccf6679a96
parent 757 2ca12511676d
child 1459 d12da312eff4
equal deleted inserted replaced
1086:46a7b619e62e 1087:c1ccf6679a96
    22 (*** Beta Rules, including strictness ***)
    22 (*** Beta Rules, including strictness ***)
    23 
    23 
    24 goalw Term.thy [let_def] "~ t=bot--> let x be t in f(x) = f(t)";
    24 goalw Term.thy [let_def] "~ t=bot--> let x be t in f(x) = f(t)";
    25 by (res_inst_tac [("t","t")] term_case 1);
    25 by (res_inst_tac [("t","t")] term_case 1);
    26 by (ALLGOALS(simp_tac(CCL_ss addsimps [caseBtrue,caseBfalse,caseBpair,caseBlam])));
    26 by (ALLGOALS(simp_tac(CCL_ss addsimps [caseBtrue,caseBfalse,caseBpair,caseBlam])));
    27 val letB = store_thm("letB", result() RS mp);
    27 bind_thm("letB", result() RS mp);
    28 
    28 
    29 goalw Term.thy [let_def] "let x be bot in f(x) = bot";
    29 goalw Term.thy [let_def] "let x be bot in f(x) = bot";
    30 by (rtac caseBbot 1);
    30 by (rtac caseBbot 1);
    31 qed "letBabot";
    31 qed "letBabot";
    32 
    32