src/HOL/BCV/DFA_Framework.ML
changeset 10172 3daeda3d3cd0
parent 9791 a39e5d43de55
equal deleted inserted replaced
10171:59d6633835fa 10172:3daeda3d3cd0
    21 
    21 
    22 Goalw [is_bcv_def,welltyping_def,stables_def]
    22 Goalw [is_bcv_def,welltyping_def,stables_def]
    23  "[| order r; top r T; \
    23  "[| order r; top r T; \
    24 \    wti_is_stable_topless r T step wti succs n A; \
    24 \    wti_is_stable_topless r T step wti succs n A; \
    25 \    is_dfa r dfa step succs n A |] ==> is_bcv r T wti n A dfa";
    25 \    is_dfa r dfa step succs n A |] ==> is_bcv r T wti n A dfa";
    26 by(Clarify_tac 1);
    26 by (Clarify_tac 1);
    27 by (dtac is_dfaD 1);
    27 by (dtac is_dfaD 1);
    28 by (assume_tac 1);
    28 by (assume_tac 1);
    29 by(Clarify_tac 1);
    29 by (Clarify_tac 1);
    30 br iffI 1;
    30 by (rtac iffI 1);
    31  br bexI 1;
    31  by (rtac bexI 1);
    32   br conjI 1;
    32   by (rtac conjI 1);
    33    ba 1;
    33    by (assume_tac 1);
    34   by (asm_full_simp_tac
    34   by (asm_full_simp_tac
    35         (simpset() addsimps[wti_is_stable_toplessD,stables_def]) 1);
    35         (simpset() addsimps[wti_is_stable_toplessD,stables_def]) 1);
    36  ba 1;
    36  by (assume_tac 1);
    37 by(Clarify_tac 1);
    37 by (Clarify_tac 1);
    38 by(asm_full_simp_tac
    38 by (asm_full_simp_tac
    39     (simpset() addsimps [imp_conjR,all_conj_distrib,wti_is_stable_toplessD,
    39     (simpset() addsimps [imp_conjR,all_conj_distrib,wti_is_stable_toplessD,
    40                          stables_def] addcongs [conj_cong]) 1);
    40                          stables_def] addcongs [conj_cong]) 1);
    41 by(dres_inst_tac [("x","ts")] bspec 1);
    41 by (dres_inst_tac [("x","ts")] bspec 1);
    42  ba 1;
    42  by (assume_tac 1);
    43 by (force_tac (claset()addDs [le_listD],simpset()) 1);
    43 by (force_tac (claset()addDs [le_listD],simpset()) 1);
    44 qed "is_bcv_dfa";
    44 qed "is_bcv_dfa";
    45 
    45 
    46 (*
    46 (*
    47 Goal
    47 Goal