Origin Definitions Sections HOLlib Doc
IF YOU CAN SEE THIS go to /sfa/Nuprl/Shared/Xindentation_hack_doc.html
hol_pair
Nuprl Section: hol_pair

Selected Objects
defhprod hprod('a'b) == 'a'b
defhmk_pair mk_pair == x:'ay:'ba:'ab:'b. (a = x)(b = y)
defhis_pair is_pair == p:'a'bx:'ay:'b. (p = (mk_pair(x,y)))
defhrep_prod rep_prod == p:'a'b. mk_pair(1of(p),2of(p))
defhpair pair == x:'ay:'b. <x,y>
defhfst fst == p:'a'b. 1of(p)
defhsnd snd == p:'a'b. 2of(p)
defhuncurry uncurry == f:'a'b'cp:'a'bf(1of(p),2of(p))
defhcurry curry == f:'a'b'cx:'ay:'bf(<x,y>)
THMhmk_pair_def 'a,'b:S.
all
(x:'a. all
(x:'a(y:'b. equal(mk_pair(x,y),a:'ab:'b. and(equal(a,x),equal(b,y)))))
THMhis_pair_def 'a,'b:S.
all
(p:'a  'b  hbool. equal
(p:'a  'b  hbool. (is_pair(p)
(p:'a  'b  hbool. ,exists(x:'a. exists(y:'b. equal(p,mk_pair(x,y))))))
THMhrep_prod_wd 'a,'b:S.
equal
(rep_prod
,select
,(rep:hprod('a'b)
,( 'a
,( 'b
,( hbool. and
,( hbool. (all
,( hbool. ((p':hprod('a'b). all
,( hbool. ((p':hprod('a'b). (p'':hprod('a'b). implies
,( hbool. ((p':hprod('a'b). (p'':hprod('a'b). (equal(rep(p'),rep(p''))
,( hbool. ((p':hprod('a'b). (p'':hprod('a'b). ,equal(p',p''))))
,( hbool. ,all
,( hbool. ,(p:'a  'b  hbool. equal
,( hbool. ,(p:'a  'b  hbool. (is_pair(p)
,( hbool. ,(p:'a  'b  hbool. ,exists
,( hbool. ,(p:'a  'b  hbool. ,(p':hprod('a'b). equal(p,rep(p'))))))))
THMhprod_ty_def 'a,'b:S.
exists(rep:hprod('a'b 'a  'b  hbool. type_definition(is_pair,rep))
THMhcomma_def 'a,'b:S.
all
(x:'a. all
(x:'a(y:'b. equal
(x:'a. (y:'b(pair(x,y)
(x:'a. (y:'b,select(p:hprod('a'b). equal(rep_prod(p),mk_pair(x,y))))))
THMhfst_def 'a,'b:S.
all
(p:hprod('a'b). equal
(p:hprod('a'b). (fst(p)
(p:hprod('a'b). ,select
(p:hprod('a'b). ,(x:'a. exists(y:'b. equal(mk_pair(x,y),rep_prod(p))))))
THMhsnd_def 'a,'b:S.
all
(p:hprod('a'b). equal
(p:hprod('a'b). (snd(p)
(p:hprod('a'b). ,select
(p:hprod('a'b). ,(y:'b. exists(x:'a. equal(mk_pair(x,y),rep_prod(p))))))
THMhuncurry_def 'c,'a,'b:S.
all
(f:'a  'b  'c. all(x:'a. all(y:'b. equal(uncurry(f,pair(x,y)),f(x,y)))))
THMhcurry_def 'c,'a,'b:S.
all
(f:hprod('a'b 'c. all
(f:hprod('a'b 'c(x:'a. all(y:'b. equal(curry(f,x,y),f(pair(x,y))))))
THMhpair_wd 'a,'b:S. all(x:hprod('a'b). equal(pair(fst(x),snd(x)),x))
THMhfst_pair 'a,'b:S. all(x:'a. all(y:'b. equal(fst(pair(x,y)),x)))
THMhsnd_pair 'a,'b:S. all(x:'a. all(y:'b. equal(snd(pair(x,y)),y)))
THMhpair_eq 'a,'b:S.
all
(b:'b. all
(b:'b(a:'a. all
(b:'b. (a:'a(y:'b. all
(b:'b. (a:'a. (y:'b(x:'a. equal
(b:'b. (a:'a. (y:'b. (x:'a(equal(pair(x,y),pair(a,b))
(b:'b. (a:'a. (y:'b. (x:'a,and(equal(x,a),equal(y,b)))))))
THMpair_wd 'a,'b:S, x:('a'b). <1of(x),2of(x)> = x
THMfst_pair 'a,'b:S, x:'ay:'bx = x
THMsnd_pair 'a,'b:S, x:'ay:'by = y
THMpair_eq 'a,'b:S, b:'ba:'ay:'bx:'a. <x,y> = <a,b x = a & y = b
THMpair_unfold 'a,'b:S, p:('a'b). p = <1of(p),2of(p)>
IF YOU CAN SEE THIS go to /sfa/Nuprl/Shared/Xindentation_hack_doc.html

Origin Definitions Sections HOLlib Doc