equal
deleted
inserted
replaced
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"; |