author | wenzelm |
Mon, 16 Nov 1998 10:42:40 +0100 | |
changeset 5871 | 2c037ffa7287 |
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 |
]); |