equal
deleted
inserted
replaced
1 (* Title: Relation.ML |
1 (* Title: Relation.ML |
2 ID: $Id$ |
2 ID: $Id$ |
3 Authors: Lawrence C Paulson, Cambridge University Computer Laboratory |
3 Authors: Lawrence C Paulson, Cambridge University Computer Laboratory |
4 Copyright 1996 University of Cambridge |
4 Copyright 1996 University of Cambridge |
5 *) |
5 *) |
6 |
|
7 open Relation; |
|
8 |
6 |
9 (** Identity relation **) |
7 (** Identity relation **) |
10 |
8 |
11 Goalw [Id_def] "(a,a) : Id"; |
9 Goalw [Id_def] "(a,a) : Id"; |
12 by (Blast_tac 1); |
10 by (Blast_tac 1); |
198 |
196 |
199 Goal "(diag A) ^-1 = diag A"; |
197 Goal "(diag A) ^-1 = diag A"; |
200 by (Blast_tac 1); |
198 by (Blast_tac 1); |
201 qed "converse_diag"; |
199 qed "converse_diag"; |
202 Addsimps [converse_diag]; |
200 Addsimps [converse_diag]; |
|
201 |
|
202 Goalw [refl_def] "refl A r ==> refl A (converse r)"; |
|
203 by (Blast_tac 1); |
|
204 qed "refl_converse"; |
|
205 |
|
206 Goalw [antisym_def] "antisym (converse r) = antisym r"; |
|
207 by (Blast_tac 1); |
|
208 qed "antisym_converse"; |
|
209 |
|
210 Goalw [trans_def] "trans (converse r) = trans r"; |
|
211 by (Blast_tac 1); |
|
212 qed "trans_converse"; |
203 |
213 |
204 (** Domain **) |
214 (** Domain **) |
205 |
215 |
206 Goalw [Domain_def] "a: Domain(r) = (EX y. (a,y): r)"; |
216 Goalw [Domain_def] "a: Domain(r) = (EX y. (a,y): r)"; |
207 by (Blast_tac 1); |
217 by (Blast_tac 1); |