| author | paulson |
| Thu, 27 May 1999 10:13:52 +0200 | |
| changeset 6738 | 06189132c67b |
| 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 |
]); |