Skip to content

Commit

Permalink
Make a proof more robust
Browse files Browse the repository at this point in the history
I suggest avoiding use of EVAL_TAC if several lines of
tactic follow the call to EVAL_TAC.
  • Loading branch information
myreen committed Aug 31, 2019
1 parent 88e3461 commit 2fc3b9b
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions compiler/backend/proofs/stack_to_labProofScript.sml
Original file line number Diff line number Diff line change
Expand Up @@ -1793,11 +1793,12 @@ Proof
full_simp_tac(srw_ss())[call_args_def] >> var_eq_tac >>
imp_res_tac find_code_lookup >>
`dest_to_loc (s.regs \\ t1.link_reg) dest = dest_to_loc' t1.regs dest` by (
EVAL_TAC >>
CASE_TAC >> full_simp_tac(srw_ss())[] >>
fs [dest_to_loc_def,dest_to_loc'_def] >>
TOP_CASE_TAC >>
fs [find_code_def,option_case_eq,CaseEq"word_loc",num_case_eq] >>
rveq >> fs [DOMSUB_FAPPLY_THM,FLOOKUP_DEF] >>
qhdtm_x_assum`state_rel`mp_tac >>
simp[DOMSUB_FAPPLY_THM] >>
simp[state_rel_def,FLOOKUP_DEF] ) >>
simp[state_rel_def,FLOOKUP_DEF]) >>
full_simp_tac(srw_ss())[] >>
first_assum(fn th => first_assum(
tryfind (strip_assume_tac o C MATCH_MP th) o CONJUNCTS o CONV_RULE (REWR_CONV state_rel_def))) >>
Expand Down

0 comments on commit 2fc3b9b

Please sign in to comment.