src/HOL/UNITY/Comp.ML
changeset 5630 fc2c299187c0
parent 5620 3ac11c4af76a
child 5637 a06006a320a1
equal deleted inserted replaced
5629:9baad17accb9 5630:fc2c299187c0
   135 
   135 
   136 Goalw [guarantees_def]
   136 Goalw [guarantees_def]
   137     "V guarantees (X Un Y) Int (Y guarantees Z) <= V guarantees (X Un Z)";
   137     "V guarantees (X Un Y) Int (Y guarantees Z) <= V guarantees (X Un Z)";
   138 by (Blast_tac 1);
   138 by (Blast_tac 1);
   139 qed "combining2";
   139 qed "combining2";
       
   140 
       
   141 Goalw [guarantees_def]
       
   142      "ALL z:I. F : A guarantees (B z) ==> F : A guarantees (INT z:I. B z)";
       
   143 by (Blast_tac 1);
       
   144 qed "all_guarantees";
       
   145 
       
   146 Goalw [guarantees_def]
       
   147      "EX z:I. F : A guarantees (B z) ==> F : A guarantees (UN z:I. B z)";
       
   148 by (Blast_tac 1);
       
   149 qed "ex_guarantees";
       
   150 
       
   151 Goalw [guarantees_def, component_def]
       
   152       "(F : A guarantees B) = (ALL G. F Join G : A --> F Join G : B)";
       
   153 by (Blast_tac 1);
       
   154 qed "guarantees_eq";
       
   155 
       
   156 val prems = Goalw [guarantees_def, component_def]
       
   157       "(!!G. F Join G : A ==> F Join G : B) ==> F : A guarantees B";
       
   158 by (blast_tac (claset() addIs prems) 1);
       
   159 qed "guaranteesI";
   140 
   160 
   141 
   161 
   142 (*** well-definedness ***)
   162 (*** well-definedness ***)
   143 
   163 
   144 Goalw [welldef_def] "F Join G: welldef ==> F: welldef";
   164 Goalw [welldef_def] "F Join G: welldef ==> F: welldef";