COM | binrel_com | BINARY RELATIONS ... |
def | refl |
|
THM | refl_functionality_wrt_iff |
(x,y:T. R(x,y) R'(x,y)) (Refl(T;x,y.R(x,y)) Refl(T;x,y.R'(x,y))) |
def | sym |
|
THM | sym_functionality_wrt_iff |
(x,y:T. R(x,y) R'(x,y)) ((Sym x,y:T. R(x,y)) (Sym x,y:T. R'(x,y))) |
def | trans |
|
THM | trans_functionality_wrt_iff |
(x,y:T. R(x,y) R'(x,y)) ((Trans y,x:T. R(x,y)) (Trans y,x:T. R'(x,y))) |
THM | trans_rel_self_functionality |
(Trans x,y:T. R(x,y)) (a,a',b,b':T. R(b,a) R(a',b') R(a,a') R(b,b')) |
def | equiv_rel |
== Refl(T;x,y.E(x;y)) & (Sym x,y:T. E(x;y)) & (Trans x,y:T. E(x;y)) |
THM | equiv_rel_subtyping |
(EquivRel x,y:T. R(x,y)) (EquivRel x,y:{z:T| Q(z) }. R(x,y)) |
def | preorder |
|
def | symmetrize |
|
THM | symmetrized_preorder |
Preorder(T;x,y.R(x,y)) (EquivRel a,b:T. Symmetrize(x,y.R(x,y);a;b)) |
THM | trans_rel_func_wrt_sym_self |
(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'))) |
THM | equiv_rel_iff |
|
THM | equiv_rel_functionality_wrt_iff |
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))) |
COM | equiv_rel_self_fun_com | This lemma is useful for quickly proving functionalitylemmas for equivalence relations. |
THM | equiv_rel_self_functionality |
(EquivRel x,y:T. R(x,y)) (a,a',b,b':T. R(a,b) R(a',b') (R(a,a') R(b,b'))) |
THM | squash_thru_equiv_rel |
|
def | eqfun_p |
|
THM | sq_stable__eqfun_p |
|
def | anti_sym |
|
THM | anti_sym_functionality_wrt_iff |
(x,y:T. R(x,y) R'(x,y)) (AntiSym(T;x,y.R(x,y)) AntiSym(T;x,y.R'(x,y))) |
def | st_anti_sym |
|
def | strict_part |
|
THM | strict_part_irrefl |
|
def | connex |
|
THM | connex_functionality_wrt_iff |
(x,y:T. R(x,y) R'(x,y)) (Connex(T;x,y.R(x,y)) Connex(T;x,y.R'(x,y))) |
THM | connex_functionality_wrt_implies |
(x,y:T. R(x,y) R'(x,y)) Connex(T;x,y.R(x,y)) Connex(T;x,y.R'(x,y)) |
THM | connex_iff_trichot |
(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))) |
def | order |
== Refl(T;x,y.R(x;y)) & (Trans x,y:T. R(x;y)) & AntiSym(T;x,y.R(x;y)) |
THM | order_functionality_wrt_iff |
(x,y:T. R(x,y) R'(x,y)) (Order(T;x,y.R(x,y)) Order(T;x,y.R'(x,y))) |
def | linorder |
|
THM | linorder_functionality_wrt_iff |
(x,y:T. R(x,y) R'(x,y)) (Linorder(T;x,y.R(x,y)) Linorder(T;x,y.R'(x,y))) |
THM | order_split |
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) |
def | irrefl |
|
THM | trans_imp_sp_trans |
(Trans a,b:T. R(a,b)) (Trans a,b:T. strict_part(x,y.R(x,y);a;b)) |
THM | trans_imp_sp_trans_a |
(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)) |
THM | trans_imp_sp_trans_b |
(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)) |
THM | linorder_le_neg |
Linorder(T;x,y.R(x,y)) (a,b:T. R(a,b) strict_part(x,y.R(x,y);b;a)) |
THM | linorder_lt_neg |
(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)) |