src/HOLCF/FOCUS/Buffer_adm.ML
author webertj
Wed, 15 Feb 2006 18:10:09 +0100
changeset 19043 6c0fca729f33
parent 18373 995cc683d95c
permissions -rw-r--r--
typo in a comment fixed
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
17293
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 15188
diff changeset
     1
(*  Title:      HOLCF/FOCUS/Buffer_adm.ML
11355
wenzelm
parents: 11350
diff changeset
     2
    ID:         $Id$
17293
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 15188
diff changeset
     3
    Author:     David von Oheimb, TU Muenchen
11350
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
     4
*)
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
     5
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
     6
infixr 0 y;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
     7
fun _ y t = by t;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
     8
val b=9999;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
     9
11355
wenzelm
parents: 11350
diff changeset
    10
Addsimps [thm "Fin_0"];
11350
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    11
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    12
val BufAC_Asm_d2 = prove_forw "a\\<leadsto>s:BufAC_Asm ==> ? d. a=Md d" BufAC_Asm_unfold;
17293
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 15188
diff changeset
    13
val BufAC_Asm_d3 = prove_forw
11350
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    14
    "a\\<leadsto>b\\<leadsto>s:BufAC_Asm ==> ? d. a=Md d & b=\\<bullet> & s:BufAC_Asm" BufAC_Asm_unfold;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    15
17293
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 15188
diff changeset
    16
val BufAC_Asm_F_def3 = prove_goalw (the_context ()) [BufAC_Asm_F_def]
11655
923e4d0d36d5 tuned parentheses in relational expressions;
wenzelm
parents: 11378
diff changeset
    17
 "(s:BufAC_Asm_F A) = (s=<> | \
11350
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    18
\ (? d. ft\\<cdot>s=Def(Md d)) & (rt\\<cdot>s=<> | ft\\<cdot>(rt\\<cdot>s)=Def \\<bullet> & rt\\<cdot>(rt\\<cdot>s):A))" (K [
17293
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 15188
diff changeset
    19
        Auto_tac]);
11350
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    20
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    21
Goal "down_cont BufAC_Asm_F";
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    22
by (auto_tac (claset(),simpset() addsimps [down_cont_def,BufAC_Asm_F_def3]));
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    23
qed "cont_BufAC_Asm_F";
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    24
17293
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 15188
diff changeset
    25
val BufAC_Cmt_F_def3 = prove_goalw (the_context ()) [BufAC_Cmt_F_def]
11655
923e4d0d36d5 tuned parentheses in relational expressions;
wenzelm
parents: 11378
diff changeset
    26
 "((s,t):BufAC_Cmt_F C) = (!d x.\
11350
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    27
\   (s = <>       --> t = <>                   ) & \
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    28
\   (s = Md d\\<leadsto><>  --> t = <>                   ) & \
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    29
\   (s = Md d\\<leadsto>\\<bullet>\\<leadsto>x --> ft\\<cdot>t = Def d & (x,rt\\<cdot>t):C))" (fn _=> [
17293
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 15188
diff changeset
    30
        subgoal_tac "!d x. (s = Md d\\<leadsto>\\<bullet>\\<leadsto>x --> (? y. t = d\\<leadsto>y & (x,y):C)) = \
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 15188
diff changeset
    31
                   \ (s = Md d\\<leadsto>\\<bullet>\\<leadsto>x --> ft\\<cdot>t = Def d & (x,rt\\<cdot>t):C)"  1,
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 15188
diff changeset
    32
        Asm_simp_tac 1,
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 15188
diff changeset
    33
        auto_tac (claset() addIs [thm "surjectiv_scons" RS sym], simpset())]);
11350
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    34
17293
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 15188
diff changeset
    35
val cont_BufAC_Cmt_F = prove_goal (the_context ()) "down_cont BufAC_Cmt_F" (K [
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 15188
diff changeset
    36
        auto_tac (claset(),simpset() addsimps [down_cont_def,BufAC_Cmt_F_def3])]);
11350
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    37
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    38
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    39
(**** adm_BufAC_Asm ***********************************************************)
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    40
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    41
Goalw [BufAC_Asm_F_def, stream_monoP_def] "stream_monoP BufAC_Asm_F";
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    42
by (res_inst_tac [("x","{x. (? d. x = Md d\\<leadsto>\\<bullet>\\<leadsto><>)}")] exI 1);
11701
3d51fbf81c17 sane numerals (stage 1): added generic 1, removed 1' and 2 on nat,
wenzelm
parents: 11655
diff changeset
    43
by (res_inst_tac [("x","Suc (Suc 0)")] exI 1);
11350
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    44
by (Clarsimp_tac 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    45
qed "BufAC_Asm_F_stream_monoP";
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    46
17293
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 15188
diff changeset
    47
val adm_BufAC_Asm = prove_goalw (the_context ()) [BufAC_Asm_def] "adm (%x. x:BufAC_Asm)" (K [
11350
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    48
rtac (cont_BufAC_Asm_F RS (BufAC_Asm_F_stream_monoP RS fstream_gfp_admI))1]);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    49
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    50
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    51
(**** adm_non_BufAC_Asm *******************************************************)
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    52
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    53
Goalw [stream_antiP_def, BufAC_Asm_F_def] "stream_antiP BufAC_Asm_F";
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    54
b y strip_tac 1;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    55
b y res_inst_tac [("x","{x. (? d. x = Md d\\<leadsto>\\<bullet>\\<leadsto><>)}")] exI 1;
11701
3d51fbf81c17 sane numerals (stage 1): added generic 1, removed 1' and 2 on nat,
wenzelm
parents: 11655
diff changeset
    56
b y res_inst_tac [("x","Suc (Suc 0)")] exI 1;
11350
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    57
b y rtac conjI 1;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    58
b y  strip_tac 2;
15188
9d57263faf9e integrated Streams with ex/Stream.*; added FOCUS/Fstreams.thy
oheimb
parents: 14981
diff changeset
    59
b y  dtac (thm "slen_mono") 2;
11355
wenzelm
parents: 11350
diff changeset
    60
b y  datac (thm "ile_trans") 1 2;
11350
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    61
b y ALLGOALS Force_tac;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    62
qed "BufAC_Asm_F_stream_antiP";
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    63
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    64
Goalw [BufAC_Asm_def] "adm (%u. u~:BufAC_Asm)";
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    65
by (rtac (cont_BufAC_Asm_F RS (BufAC_Asm_F_stream_antiP RS fstream_non_gfp_admI)) 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    66
qed "adm_non_BufAC_Asm";
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    67
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    68
(**** adm_BufAC ***************************************************************)
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    69
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    70
(*adm_non_BufAC_Asm*)
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    71
Goal "!f ff. f:BufEq --> ff:BufEq --> s:BufAC_Asm --> f\\<cdot>s = ff\\<cdot>s";
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    72
by (rtac fstream_ind2 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    73
by (simp_tac (simpset() addsimps [adm_non_BufAC_Asm]) 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    74
by   (force_tac (claset() addDs [Buf_f_empty], simpset()) 1);
17293
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 15188
diff changeset
    75
by  (force_tac (claset() addSDs [BufAC_Asm_d2]
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 15188
diff changeset
    76
                addDs [Buf_f_d] addEs [ssubst], simpset()) 1);
11350
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    77
by (safe_tac (claset() addSDs [BufAC_Asm_d3]));
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    78
by (REPEAT(dtac Buf_f_d_req 1));
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    79
by (fast_tac (claset() addEs [ssubst]) 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    80
qed_spec_mp "BufAC_Asm_cong";
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    81
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    82
(*adm_non_BufAC_Asm,BufAC_Asm_cong*)
17293
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 15188
diff changeset
    83
val BufAC_Cmt_d_req = prove_goal (the_context ())
11350
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    84
"!!X. [|f:BufEq; s:BufAC_Asm; (s, f\\<cdot>s):BufAC_Cmt|] ==> (a\\<leadsto>b\\<leadsto>s, f\\<cdot>(a\\<leadsto>b\\<leadsto>s)):BufAC_Cmt"
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    85
 (K [
17293
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 15188
diff changeset
    86
        rtac (BufAC_Cmt_unfold RS iffD2) 1,
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 15188
diff changeset
    87
        strip_tac 1,
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 15188
diff changeset
    88
        ftac Buf_f_d_req 1,
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 15188
diff changeset
    89
        auto_tac (claset() addEs [BufAC_Asm_cong RS subst],simpset())]);
11350
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    90
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    91
(*adm_BufAC_Asm*)
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    92
Goal "antitonP BufAC_Asm";
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    93
b y rtac antitonPI 1;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    94
b y rtac allI 1;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    95
b y rtac fstream_ind2 1;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    96
b y   REPEAT(resolve_tac adm_lemmas 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    97
b y    rtac cont_id 1;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    98
b y    rtac adm_BufAC_Asm 1;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    99
b y   safe_tac HOL_cs;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   100
b y   rtac BufAC_Asm_empty 1;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   101
b y  force_tac (claset() addSDs [fstream_prefix]
17293
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 15188
diff changeset
   102
                addDs [BufAC_Asm_d2] addIs [BufAC_Asm_d],simpset()) 1;
11350
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   103
b y  force_tac (claset() addSDs [fstream_prefix]
17293
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 15188
diff changeset
   104
                addDs [] addIs []
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 15188
diff changeset
   105
                addDs [BufAC_Asm_d3] addSIs [BufAC_Asm_d_req],simpset()) 1;
11350
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   106
qed "BufAC_Asm_antiton";
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   107
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   108
(*adm_BufAC_Asm,BufAC_Asm_antiton,adm_non_BufAC_Asm,BufAC_Asm_cong*)
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   109
Goal "f:BufEq ==> ? l. !i x s. s:BufAC_Asm --> x << s --> Fin (l i) < #x --> \
17293
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 15188
diff changeset
   110
                \    (x,f\\<cdot>x):down_iterate BufAC_Cmt_F i --> \
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 15188
diff changeset
   111
                \    (s,f\\<cdot>s):down_iterate BufAC_Cmt_F i";
11704
3c50a2cd6f00 * sane numerals (stage 2): plain "num" syntax (removed "#");
wenzelm
parents: 11701
diff changeset
   112
by (res_inst_tac [("x","%i. 2*i")] exI 1);
11350
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   113
by (rtac allI 1);
13454
01e2496dee05 Replaced nat_ind_tac by induct_tac.
berghofe
parents: 12484
diff changeset
   114
by (induct_tac "i" 1);
11350
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   115
by ( Simp_tac 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   116
by (simp_tac (simpset() addsimps [add_commute]) 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   117
by (strip_tac 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   118
by (stac BufAC_Cmt_F_def3 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   119
by (dres_inst_tac [("P","%x. x")] (BufAC_Cmt_F_def3 RS subst) 1);
12484
7ad150f5fc10 isatool expandshort;
wenzelm
parents: 11704
diff changeset
   120
by Safe_tac;
11350
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   121
by (   etac Buf_f_empty 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   122
by (  etac Buf_f_d 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   123
by ( dtac Buf_f_d_req 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   124
by ( EVERY[safe_tac HOL_cs, etac ssubst 1, Simp_tac 1]);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   125
by (safe_tac (claset() addSDs [slen_fscons_eq RS iffD1] addSss simpset()));
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   126
(*
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   127
 1. \\<And>i d xa ya t.
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   128
       \\<lbrakk>f \\<in> BufEq;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   129
          \\<forall>x s. s \\<in> BufAC_Asm \\<longrightarrow>
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   130
                x \\<sqsubseteq> s \\<longrightarrow>
11704
3c50a2cd6f00 * sane numerals (stage 2): plain "num" syntax (removed "#");
wenzelm
parents: 11701
diff changeset
   131
                Fin (2 * i) < #x \\<longrightarrow>
11350
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   132
                (x, f\\<cdot>x) \\<in> down_iterate BufAC_Cmt_F i \\<longrightarrow>
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   133
                (s, f\\<cdot>s) \\<in> down_iterate BufAC_Cmt_F i;
11704
3c50a2cd6f00 * sane numerals (stage 2): plain "num" syntax (removed "#");
wenzelm
parents: 11701
diff changeset
   134
          Md d\\<leadsto>\\<bullet>\\<leadsto>xa \\<in> BufAC_Asm; Fin (2 * i) < #ya; f\\<cdot>(Md d\\<leadsto>\\<bullet>\\<leadsto>ya) = d\\<leadsto>t;
11350
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   135
          (ya, t) \\<in> down_iterate BufAC_Cmt_F i; ya \\<sqsubseteq> xa\\<rbrakk>
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   136
       \\<Longrightarrow> (xa, rt\\<cdot>(f\\<cdot>(Md d\\<leadsto>\\<bullet>\\<leadsto>xa))) \\<in> down_iterate BufAC_Cmt_F i
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   137
*)
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   138
by (rotate_tac 2 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   139
by (dtac BufAC_Asm_prefix2 1);
17293
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 15188
diff changeset
   140
by (EVERY[ftac Buf_f_d_req 1, etac exE 1, etac conjE 1, rotate_tac ~1 1,etac ssubst 1]);
11350
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   141
by (EVERY[ftac Buf_f_d_req 1, etac exE 1, etac conjE 1]);
17293
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 15188
diff changeset
   142
by (            subgoal_tac "f\\<cdot>(Md d\\<leadsto>\\<bullet>\\<leadsto>ya) = d\\<leadsto>ffa\\<cdot>ya" 1);
11350
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   143
by ( atac 2);
17293
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 15188
diff changeset
   144
by (            rotate_tac ~1 1);
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 15188
diff changeset
   145
by (            Asm_full_simp_tac 1);
11350
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   146
by (hyp_subst_tac 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   147
(*
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   148
 1. \\<And>i d xa ya t ff ffa.
11704
3c50a2cd6f00 * sane numerals (stage 2): plain "num" syntax (removed "#");
wenzelm
parents: 11701
diff changeset
   149
       \\<lbrakk>f\\<cdot>(Md d\\<leadsto>\\<bullet>\\<leadsto>ya) = d\\<leadsto>ffa\\<cdot>ya; Fin (2 * i) < #ya;
11350
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   150
          (ya, ffa\\<cdot>ya) \\<in> down_iterate BufAC_Cmt_F i; ya \\<sqsubseteq> xa; f \\<in> BufEq;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   151
          \\<forall>x s. s \\<in> BufAC_Asm \\<longrightarrow>
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   152
                x \\<sqsubseteq> s \\<longrightarrow>
11704
3c50a2cd6f00 * sane numerals (stage 2): plain "num" syntax (removed "#");
wenzelm
parents: 11701
diff changeset
   153
                Fin (2 * i) < #x \\<longrightarrow>
11350
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   154
                (x, f\\<cdot>x) \\<in> down_iterate BufAC_Cmt_F i \\<longrightarrow>
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   155
                (s, f\\<cdot>s) \\<in> down_iterate BufAC_Cmt_F i;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   156
          xa \\<in> BufAC_Asm; ff \\<in> BufEq; ffa \\<in> BufEq\\<rbrakk>
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   157
       \\<Longrightarrow> (xa, ff\\<cdot>xa) \\<in> down_iterate BufAC_Cmt_F i
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   158
*)
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   159
by (smp_tac 2 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   160
by (mp_tac 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   161
by (mp_tac 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   162
by (etac impE 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   163
by ( EVERY[stac BufAC_Asm_cong 1, atac 1, atac 3, atac 1]);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   164
by ( eatac (BufAC_Asm_antiton RS antitonPD) 1 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   165
by (EVERY[stac BufAC_Asm_cong 1, atac 1, atac 3, atac 1, atac 1]);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   166
qed "BufAC_Cmt_2stream_monoP";
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   167
11655
923e4d0d36d5 tuned parentheses in relational expressions;
wenzelm
parents: 11378
diff changeset
   168
Goalw [BufAC_Cmt_def] "(x\\<in>BufAC_Cmt) = (\\<forall>n. x\\<in>down_iterate BufAC_Cmt_F n)";
11350
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   169
by (stac (cont_BufAC_Cmt_F RS INTER_down_iterate_is_gfp) 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   170
by (Fast_tac 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   171
qed "BufAC_Cmt_iterate_all";
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   172
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   173
(*adm_BufAC_Asm,BufAC_Asm_antiton,adm_non_BufAC_Asm,BufAC_Asm_cong,
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   174
  BufAC_Cmt_2stream_monoP*)
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   175
Goal "f:BufEq ==> adm (%s. s:BufAC_Asm --> (s, f\\<cdot>s):BufAC_Cmt)";
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   176
by (rtac flatstream_admI 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   177
by (stac BufAC_Cmt_iterate_all 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   178
by (dtac BufAC_Cmt_2stream_monoP 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   179
by Safe_tac;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   180
by (EVERY'[dtac spec, etac exE] 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   181
by (EVERY'[dtac spec, etac impE] 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   182
by  (etac (BufAC_Asm_antiton RS antitonPD) 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   183
by  (etac is_ub_thelub 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   184
by (smp_tac 3 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   185
by (dtac is_ub_thelub 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   186
by (mp_tac 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   187
by (mp_tac 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   188
by (etac mp 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   189
by (dtac (BufAC_Cmt_iterate_all RS iffD1) 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   190
by (etac spec 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   191
qed "adm_BufAC";
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   192
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   193
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   194
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   195
(**** Buf_Eq_imp_AC by induction **********************************************)
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   196
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   197
(*adm_BufAC_Asm,BufAC_Asm_antiton,adm_non_BufAC_Asm,BufAC_Asm_cong,
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   198
  BufAC_Cmt_2stream_monoP,adm_BufAC,BufAC_Cmt_d_req*)
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   199
Goalw [BufAC_def] "BufEq <= BufAC";
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   200
by (rtac subsetI 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   201
by (Simp_tac 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   202
by (rtac allI 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   203
by (rtac fstream_ind2 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   204
back();
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   205
by (   etac adm_BufAC 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   206
by (  Safe_tac);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   207
by (   etac BufAC_Cmt_empty 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   208
by (  etac BufAC_Cmt_d 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   209
by ( dtac BufAC_Asm_prefix2 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   210
by ( contr_tac 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   211
by (fast_tac (claset() addIs [BufAC_Cmt_d_req, BufAC_Asm_prefix2]) 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   212
qed "Buf_Eq_imp_AC";
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   213
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   214
(**** new approach for admissibility, reduces itself to absurdity *************)
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   215
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   216
Goal "adm (\\<lambda>x. x\\<in>BufAC_Asm)";
12484
7ad150f5fc10 isatool expandshort;
wenzelm
parents: 11704
diff changeset
   217
by (rtac def_gfp_admI 1);
7ad150f5fc10 isatool expandshort;
wenzelm
parents: 11704
diff changeset
   218
by (rtac BufAC_Asm_def 1);
11350
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   219
b y Safe_tac;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   220
b y rewtac BufAC_Asm_F_def;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   221
b y Safe_tac;
18373
995cc683d95c replaced swap by contrapos_np;
wenzelm
parents: 18365
diff changeset
   222
b y etac contrapos_np 1;
11350
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   223
b y dtac (fstream_exhaust_eq RS iffD1) 1;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   224
b y Clarsimp_tac 1;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   225
b y datac fstream_lub_lemma 1 1;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   226
b y Clarify_tac 1;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   227
b y eres_inst_tac [("x","j")] all_dupE 1;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   228
b y Asm_full_simp_tac 1;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   229
b y dtac (BufAC_Asm_d2) 1;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   230
b y Clarify_tac 1;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   231
b y Simp_tac 1;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   232
b y rtac disjCI 1;
18373
995cc683d95c replaced swap by contrapos_np;
wenzelm
parents: 18365
diff changeset
   233
b y etac contrapos_np 1;
11350
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   234
b y dtac (fstream_exhaust_eq RS iffD1) 1;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   235
b y Clarsimp_tac 1;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   236
b y datac fstream_lub_lemma 1 1;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   237
b y Clarsimp_tac 1;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   238
b y simp_tac (HOL_basic_ss addsimps (ex_simps@all_simps RL[sym])) 1;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   239
b y res_inst_tac [("x","Xa")] exI 1;
12484
7ad150f5fc10 isatool expandshort;
wenzelm
parents: 11704
diff changeset
   240
by (rtac allI 1);
11350
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   241
b y rotate_tac ~1 1;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   242
b y eres_inst_tac [("x","i")] allE 1;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   243
b y Clarsimp_tac 1;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   244
b y eres_inst_tac [("x","jb")] allE 1;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   245
b y Clarsimp_tac 1;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   246
b y eres_inst_tac [("x","jc")] allE 1;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   247
by (clarsimp_tac (claset() addSDs [BufAC_Asm_d3], simpset()) 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   248
qed "adm_BufAC_Asm";
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   249
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   250
Goal "adm (\\<lambda>u. u \\<notin> BufAC_Asm)"; (* uses antitonP *)
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   251
by (rtac def_gfp_adm_nonP 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   252
by (rtac BufAC_Asm_def 1);
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   253
b y rewtac BufAC_Asm_F_def;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   254
b y Safe_tac;
18373
995cc683d95c replaced swap by contrapos_np;
wenzelm
parents: 18365
diff changeset
   255
b y etac contrapos_np 1;
11350
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   256
b y dtac (fstream_exhaust_eq RS iffD1) 1;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   257
b y Clarsimp_tac 1;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   258
b y ftac fstream_prefix 1;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   259
b y Clarsimp_tac 1;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   260
b y ftac BufAC_Asm_d2 1;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   261
b y Clarsimp_tac 1;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   262
b y rotate_tac ~1 1;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   263
b y etac contrapos_pp 1;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   264
b y dtac (fstream_exhaust_eq RS iffD1) 1;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   265
b y Clarsimp_tac 1;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   266
b y ftac fstream_prefix 1;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   267
b y Clarsimp_tac 1;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   268
b y ftac BufAC_Asm_d3 1;
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   269
b y Force_tac 1;
13524
604d0f3622d6 *** empty log message ***
wenzelm
parents: 13454
diff changeset
   270
qed "adm_non_BufAC_Asm'";
11350
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   271
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   272
Goal "f \\<in> BufEq \\<Longrightarrow> adm (\\<lambda>u. u \\<in> BufAC_Asm \\<longrightarrow> (u, f\\<cdot>u) \\<in> BufAC_Cmt)";
12484
7ad150f5fc10 isatool expandshort;
wenzelm
parents: 11704
diff changeset
   273
by (rtac triv_admI 1);
7ad150f5fc10 isatool expandshort;
wenzelm
parents: 11704
diff changeset
   274
by (Clarify_tac 1);
17293
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 15188
diff changeset
   275
by (eatac Buf_Eq_imp_AC_lemma 1 1);
11350
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
   276
      (* this is what we originally aimed to show, using admissibilty :-( *)
13524
604d0f3622d6 *** empty log message ***
wenzelm
parents: 13454
diff changeset
   277
qed "adm_BufAC'";