Thm* P,Q:(T Prop), R:(T T Prop).
Thm* R preserves P  R preserves Q  R preserves P Q | [and_preserved_by] |
Thm* P:(T Prop), R1,R2:(T T Prop).
Thm* R1 preserves P  R2 preserves P  R1 R2 preserves P | [preserved_by_or] |
Thm* R1,R2:(T T Prop).
Thm* (Sym x,y:T. x R1 y)  (Sym x,y:T. x R2 y)  (Sym x,y:T. x (R1 R2) y) | [symmetric_rel_or] |
Thm* R:(T T Prop). (Sym x,y:T. x R y)  (Sym x,y:T. x (R^*) y) | [rel_star_symmetric] |
Thm* R:(T T Prop), x,y:T. (x R^*^-1 y)  (x (R^-1^*) y) | [rel_inverse_star] |
Thm* R:(T T Prop), n: , x,y:T. (x R^n^-1 y)  (x R^-1^n y) | [rel_inverse_exp] |
Thm* x,y:T, R:(T T Prop). x = y  (x (R^*) y) | [rel_star_weakening] |
Thm* R:(T T Prop), x,y,z:T. (x R y)  (y (R^*) z)  (x (R^*) z) | [rel_star_trans] |
Thm* R:(T T Prop), x,y:T. (x R y)  (x (R^*) y) | [rel_rel_star] |
Thm* E:(T T Prop), x,y:T. EquivRel(T)(_1 E _2)  (x (E^*) y)  (x E y) | [rel_star_of_equiv] |
Thm* R,R2:(T T Prop).
Thm* Trans(T)(R2(_1,_2))
Thm* 
Thm* ( x,y:T. (x R y)  (x R2 y))  ( x,y:T. (x (R^*) y)  (x R2 y) x = y) | [rel_star_closure] |
Thm* P:(T Prop), R:(T T Prop). R preserves P  R^* preserves P | [preserved_by_star] |
Thm* R1,R2:(T T Prop), x,y:T. R1 => R2  (x (R1^*) y)  (x (R2^*) y) | [rel_star_monotonic] |
Thm* R:(T T Prop), x,y,z:T. (x (R^*) y)  (y (R^*) z)  (x (R^*) z) | [rel_star_transitivity] |
Thm* R1,R2:(T T Prop). R1 => R2  R1^* => R2^* | [rel_star_monotone] |
Thm* P:(T Prop), R1,R2:(T T Prop).
Thm* ( x,y:T. (x R1 y)  (x R2 y))  R2 preserves P  R1 preserves P | [preserved_by_monotone] |
Thm* n: , T:Type, R1,R2:(T T Prop). R1 => R2  R1^n => R2^n | [rel_exp_monotone] |
Thm* R:(T T Prop), m,n: , x,y,z:T. (x R^m y)  (y R^n z)  (x R^m+n z) | [rel_exp_add] |
Thm* k,n: , R:( n  n Prop). ( i,j: n. Dec(i R j))  ( i,j: n. Dec(i R^k j)) | [decidable__rel_exp] |
Thm* n: , T:Type, R:(T T Prop). R^n T T Prop | [rel_exp_wf] |
Thm* m: , P:( m Prop).
Thm* ( i: m. Dec(P(i)))
Thm* 
Thm* ( n,k: , f:( n  m), g:( k  m).
Thm* (increasing(f;n)
Thm* (& increasing(g;k)
Thm* (& ( i: n. P(f(i)))
Thm* (& ( j: k. P(g(j)))
Thm* (& ( i: m. ( j: n. i = f(j)) ( j: k. i = g(j)))) | [increasing_split] |