# HG changeset patch
# User lcp
# Date 799506401 -7200
# Node ID 01379c46ad2df6720c0f5340dae09fbab7f1601c
# Parent 6c177c4c212763c4f5ce8047e7f1eed22d9d06cd
Changed definitions so that qsplit is now defined in terms of
qfst, qsnd. AT PRESENT THERE IS NO PATTERN-MATCHING FOR QSPLIT.
diff -r 6c177c4c2127 -r 01379c46ad2d src/ZF/QPair.thy
--- a/src/ZF/QPair.thy Wed May 03 14:54:43 1995 +0200
+++ b/src/ZF/QPair.thy Wed May 03 15:06:41 1995 +0200
@@ -14,8 +14,8 @@
QPair = Sum + "simpdata" +
consts
QPair :: "[i, i] => i" ("<(_;/ _)>")
- qsplit :: "[[i,i] => i, i] => i"
- qfsplit :: "[[i,i] => o, i] => o"
+ qfst,qsnd :: "i => i"
+ qsplit :: "[[i, i] => 'a, i] => 'a::logic" (*for pattern-matching*)
qconverse :: "i => i"
QSigma :: "[i, i => i] => i"
@@ -33,8 +33,10 @@
defs
QPair_def " == a+b"
- qsplit_def "qsplit(c,p) == THE y. EX a b. p= & y=c(a,b)"
- qfsplit_def "qfsplit(R,z) == EX x y. z= & R(x,y)"
+ qfst_def "qfst(p) == THE a. EX b. p="
+ qsnd_def "qsnd(p) == THE b. EX a. p="
+ qsplit_def "qsplit(c,p) == c(qfst(p), qsnd(p))"
+
qconverse_def "qconverse(r) == {z. w:r, EX x y. w= & z=}"
QSigma_def "QSigma(A,B) == UN x:A. UN y:B(x). {}"