Origin Definitions Sections StandardLIB Doc
IF YOU CAN SEE THIS go to /sfa/Nuprl/Shared/Xindentation_hack_doc.html
rel_1
Nuprl Section: rel_1 - Common properties of binary relations.

Selected Objects
COMbinrel_com BINARY RELATIONS ...
defrefl Refl(T;x,y.E(x;y)) == a:T. E(a;a)
THMrefl_functionality_wrt_iff R,R':(TTProp).
(x,y:T. R(x,y)  R'(x,y))  (Refl(T;x,y.R(x,y))  Refl(T;x,y.R'(x,y)))
defsym Sym x,y:T. E(x;y) == a,b:T. E(a;b)  E(b;a)
THMsym_functionality_wrt_iff R,R':(TTProp).
(x,y:T. R(x,y)  R'(x,y))  ((Sym x,y:T. R(x,y))  (Sym x,y:T. R'(x,y)))
deftrans Trans x,y:T. E(x;y) == a,b,c:T. E(a;b)  E(b;c)  E(a;c)
THMtrans_functionality_wrt_iff R,R':(TTProp).
(x,y:T. R(x,y)  R'(x,y))  ((Trans y,x:T. R(x,y))  (Trans y,x:T. R'(x,y)))
THMtrans_rel_self_functionality R:(TTProp). 
(Trans x,y:T. R(x,y))

(a,a',b,b':T. R(b,a)  R(a',b')  R(a,a')  R(b,b'))
defequiv_rel EquivRel x,y:T. E(x;y)
== Refl(T;x,y.E(x;y)) & (Sym x,y:T. E(x;y)) & (Trans x,y:T. E(x;y))
THMequiv_rel_subtyping R:(TTType), Q:(TProp).
(EquivRel x,y:T. R(x,y))  (EquivRel x,y:{z:T| Q(z) }. R(x,y))
defpreorder Preorder(T;x,y.R(x;y)) == Refl(T;x,y.R(x;y)) & (Trans x,y:T. R(x;y))
defsymmetrize Symmetrize(x,y.R(x;y);a;b) == R(a;b) & R(b;a)
THMsymmetrized_preorder R:(TTProp). 
Preorder(T;x,y.R(x,y))  (EquivRel a,b:T. Symmetrize(x,y.R(x,y);a;b))
THMtrans_rel_func_wrt_sym_self R:(TTProp). 
(Trans x,y:T. R(x,y))

(a,a',b,b':T.
(Symmetrize(x,y.R(x,y);a;b)
(
(Symmetrize(x,y.R(x,y);a';b')  (R(a,a')  R(b,b')))
THMequiv_rel_iff EquivRel A,B:Prop. A  B
THMequiv_rel_functionality_wrt_iff E:(TTProp), E':(T'T'Prop).
T = T'

(x,y:T. E(x,y)  E'(x,y))

((EquivRel x,y:T. E(x,y))  (EquivRel x,y:T'. E'(x,y)))
COMequiv_rel_self_fun_com This lemma is useful for quickly proving functionalitylemmas for equivalence relations.
THMequiv_rel_self_functionality R:(TTProp). 
(EquivRel x,y:T. R(x,y))

(a,a',b,b':T. R(a,b)  R(a',b')  (R(a,a')  R(b,b')))
THMsquash_thru_equiv_rel E:(TTProp). (EquivRel x,y:T. E(x,y))  (EquivRel x,y:T. E(x,y))
defeqfun_p IsEqFun(T;eq) == x,y:T. (x eq y)  x = y
THMsq_stable__eqfun_p eq:(TT). SqStable(IsEqFun(T;eq))
defanti_sym AntiSym(T;x,y.R(x;y)) == x,y:T. R(x;y)  R(y;x)  x = y
THManti_sym_functionality_wrt_iff R,R':(TTProp).
(x,y:T. R(x,y)  R'(x,y))  (AntiSym(T;x,y.R(x,y))  AntiSym(T;x,y.R'(x,y)))
defst_anti_sym StAntiSym(T;x,y.R(x;y)) == x,y:T. (R(x;y) & R(y;x))
defstrict_part strict_part(x,y.R(x;y);a;b) == R(a;b) & R(b;a)
THMstrict_part_irrefl R:(TTProp), a,b:T. strict_part(x,y.R(x,y);a;b)  a = b
defconnex Connex(T;x,y.R(x;y)) == x,y:T. R(x;y)  R(y;x)
THMconnex_functionality_wrt_iff R,R':(TTProp).
(x,y:T. R(x,y)  R'(x,y))  (Connex(T;x,y.R(x,y))  Connex(T;x,y.R'(x,y)))
THMconnex_functionality_wrt_implies R,R':(TTProp).
(x,y:T. R(x,y)  R'(x,y))  Connex(T;x,y.R(x,y))  Connex(T;x,y.R'(x,y))
THMconnex_iff_trichot R:(TTProp). 
(a,b:T. Dec(R(a,b)))

(Connex(T;x,y.R(x,y))
(
((a,b:T.
((strict_part(x,y.R(x,y);a;b)
(( Symmetrize(x,y.R(x,y);a;b)
(( strict_part(x,y.R(x,y);b;a)))
deforder Order(T;x,y.R(x;y))
== Refl(T;x,y.R(x;y)) & (Trans x,y:T. R(x;y)) & AntiSym(T;x,y.R(x;y))
THMorder_functionality_wrt_iff R,R':(TTProp).
(x,y:T. R(x,y)  R'(x,y))  (Order(T;x,y.R(x,y))  Order(T;x,y.R'(x,y)))
deflinorder Linorder(T;x,y.R(x;y)) == Order(T;x,y.R(x;y)) & Connex(T;x,y.R(x;y))
THMlinorder_functionality_wrt_iff R,R':(TTProp).
(x,y:T. R(x,y)  R'(x,y))

(Linorder(T;x,y.R(x,y))  Linorder(T;x,y.R'(x,y)))
THMorder_split R:(TTProp). 
Order(T;x,y.R(x,y))

(x,y:T. Dec(x = y))  (a,b:T. R(a,b)  strict_part(x,y.R(x,y);a;b)  a = b)
defirrefl Irrefl(T;x,y.E(x;y)) == a:T. E(a;a)
THMtrans_imp_sp_trans R:(TTProp). 
(Trans a,b:T. R(a,b))  (Trans a,b:T. strict_part(x,y.R(x,y);a;b))
THMtrans_imp_sp_trans_a R:(TTProp). 
(Trans a,b:T. R(a,b))

(a,b,c:T. R(a,b)  strict_part(x,y.R(x,y);b;c)  strict_part(x,y.R(x,y);a;c))
THMtrans_imp_sp_trans_b R:(TTProp). 
(Trans a,b:T. R(a,b))

(a,b,c:T. strict_part(x,y.R(x,y);a;b)  R(b,c)  strict_part(x,y.R(x,y);a;c))
THMlinorder_le_neg R:(TTProp). 
Linorder(T;x,y.R(x,y))  (a,b:T. R(a,b)  strict_part(x,y.R(x,y);b;a))
THMlinorder_lt_neg R:(TTProp). 
(x,y:T. Dec(R(x,y)))

Linorder(T;x,y.R(x,y))  (a,b:T. strict_part(x,y.R(x,y);a;b)  R(b,a))
IF YOU CAN SEE THIS go to /sfa/Nuprl/Shared/Xindentation_hack_doc.html

Origin Definitions Sections StandardLIB Doc