src/HOLCF/IOA/NTP/Impl.ML
changeset 5274 5a29c309b0b7
parent 5192 704dd3a6d47d
child 6081 aa97eb904692
equal deleted inserted replaced
5273:70f478d55606 5274:5a29c309b0b7
   192   by (forward_tac [rewrite_rule [Impl.inv1_def]
   192   by (forward_tac [rewrite_rule [Impl.inv1_def]
   193                                (inv1 RS invariantE) RS conjunct1] 1);
   193                                (inv1 RS invariantE) RS conjunct1] 1);
   194   by (rtac impI 1);
   194   by (rtac impI 1);
   195   by (rtac impI 1);
   195   by (rtac impI 1);
   196   by (REPEAT (etac conjE 1));
   196   by (REPEAT (etac conjE 1));
   197   by (dres_inst_tac [("k","count (rsch s) (~sbit(sen s))")] le_imp_add_le 1);
   197   by (dres_inst_tac [("m","count (rsch s) (~sbit(sen s))")] trans_le_add1 1);
   198   by (Asm_full_simp_tac 1);
   198   by (Asm_full_simp_tac 1);
   199 
   199 
   200   (* 1 *)
   200   (* 1 *)
   201   by (tac2 1);
   201   by (tac2 1);
   202   by (forward_tac [rewrite_rule [Impl.inv1_def]
   202   by (forward_tac [rewrite_rule [Impl.inv1_def]
   203                                (inv1 RS invariantE) RS conjunct2] 1);
   203                                (inv1 RS invariantE) RS conjunct2] 1);
   204   by (rtac impI 1);
   204   by (rtac impI 1);
   205   by (rtac impI 1);
   205   by (rtac impI 1);
   206   by (REPEAT (etac conjE 1));
   206   by (REPEAT (etac conjE 1));
   207   by (fold_tac  [rewrite_rule[Packet.hdr_def]Impl.hdr_sum_def]);
   207   by (fold_tac  [rewrite_rule[Packet.hdr_def]Impl.hdr_sum_def]);
   208   by (dres_inst_tac [("k","hdr_sum (srch s) (sbit(sen s))")] le_imp_add_le 1);
   208   by (dres_inst_tac [("m","hdr_sum (srch s) (sbit(sen s))")] trans_le_add1 1);
   209   by (Asm_full_simp_tac 1);
   209   by (Asm_full_simp_tac 1);
   210 qed "inv2";
   210 qed "inv2";
   211 
   211 
   212 
   212 
   213 (* INVARIANT 3 *)
   213 (* INVARIANT 3 *)