| author | wenzelm | 
| Fri, 24 Oct 1997 17:12:09 +0200 | |
| changeset 3989 | 092ab30c1471 | 
| parent 3323 | 194ae2e0c193 | 
| child 9245 | 428385c4bc50 | 
| permissions | -rw-r--r-- | 
| 2640 | 1  | 
(* Title: HOLCF/Sprod1.ML  | 
| 
243
 
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
 
nipkow 
parents:  
diff
changeset
 | 
2  | 
ID: $Id$  | 
| 1461 | 3  | 
Author: Franz Regensburger  | 
| 
243
 
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
 
nipkow 
parents:  
diff
changeset
 | 
4  | 
Copyright 1993 Technische Universitaet Muenchen  | 
| 
 
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
 
nipkow 
parents:  
diff
changeset
 | 
5  | 
|
| 2640 | 6  | 
Lemmas for theory Sprod1.thy  | 
| 
243
 
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
 
nipkow 
parents:  
diff
changeset
 | 
7  | 
*)  | 
| 
 
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
 
nipkow 
parents:  
diff
changeset
 | 
8  | 
|
| 
 
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
 
nipkow 
parents:  
diff
changeset
 | 
9  | 
open Sprod1;  | 
| 
 
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
 
nipkow 
parents:  
diff
changeset
 | 
10  | 
|
| 
 
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
 
nipkow 
parents:  
diff
changeset
 | 
11  | 
(* ------------------------------------------------------------------------ *)  | 
| 
 
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
 
nipkow 
parents:  
diff
changeset
 | 
12  | 
(* less_sprod is a partial order on Sprod *)  | 
| 
 
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
 
nipkow 
parents:  
diff
changeset
 | 
13  | 
(* ------------------------------------------------------------------------ *)  | 
| 
 
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
 
nipkow 
parents:  
diff
changeset
 | 
14  | 
|
| 
3323
 
194ae2e0c193
eliminated the constant less by the introduction of the axclass sq_ord
 
slotosch 
parents: 
2640 
diff
changeset
 | 
15  | 
qed_goalw "refl_less_sprod" thy [less_sprod_def]"(p::'a ** 'b) << p"  | 
| 2640 | 16  | 
(fn prems => [(fast_tac (HOL_cs addIs [refl_less]) 1)]);  | 
| 
243
 
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
 
nipkow 
parents:  
diff
changeset
 | 
17  | 
|
| 2640 | 18  | 
qed_goalw "antisym_less_sprod" thy [less_sprod_def]  | 
| 
3323
 
194ae2e0c193
eliminated the constant less by the introduction of the axclass sq_ord
 
slotosch 
parents: 
2640 
diff
changeset
 | 
19  | 
"[|(p1::'a ** 'b) << p2;p2 << p1|] ==> p1=p2"  | 
| 2640 | 20  | 
(fn prems =>  | 
| 1461 | 21  | 
[  | 
22  | 
(cut_facts_tac prems 1),  | 
|
| 2640 | 23  | 
(rtac Sel_injective_Sprod 1),  | 
24  | 
(fast_tac (HOL_cs addIs [antisym_less]) 1),  | 
|
25  | 
(fast_tac (HOL_cs addIs [antisym_less]) 1)  | 
|
| 1461 | 26  | 
]);  | 
| 
243
 
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
 
nipkow 
parents:  
diff
changeset
 | 
27  | 
|
| 2640 | 28  | 
qed_goalw "trans_less_sprod" thy [less_sprod_def]  | 
| 
3323
 
194ae2e0c193
eliminated the constant less by the introduction of the axclass sq_ord
 
slotosch 
parents: 
2640 
diff
changeset
 | 
29  | 
"[|(p1::'a**'b) << p2;p2 << p3|] ==> p1 << p3"  | 
| 2640 | 30  | 
(fn prems =>  | 
31  | 
[  | 
|
32  | 
(cut_facts_tac prems 1),  | 
|
33  | 
(rtac conjI 1),  | 
|
34  | 
(fast_tac (HOL_cs addIs [trans_less]) 1),  | 
|
35  | 
(fast_tac (HOL_cs addIs [trans_less]) 1)  | 
|
36  | 
]);  |