{ 
[M:Type 
 Type]
    
[A,B:Type].  (Com(P.M[P]) A) 
r (Com(P.M[P]) B) supposing A 
r B 
    supposing 
A,B:Type.  ((A 
r B) 
 (M[A] 
r M[B])) }
{ Proof }
Definitions occuring in Statement : 
Com: Com(P.M[P]), 
subtype_rel: A 
r B, 
uimplies: b supposing a, 
uall:
[x:A]. B[x], 
so_apply: x[s], 
all:
x:A. B[x], 
implies: P 
 Q, 
apply: f a, 
function: x:A 
 B[x], 
universe: Type
Definitions : 
uall:
[x:A]. B[x], 
uimplies: b supposing a, 
all:
x:A. B[x], 
implies: P 
 Q, 
so_apply: x[s], 
Com: Com(P.M[P]), 
member: t 
 T, 
tag-case: z:T, 
ifthenelse: if b then t else f fi , 
so_lambda: 
x.t[x], 
btrue: tt, 
prop:
, 
bfalse: ff, 
bool:
, 
unit: Unit, 
iff: P 

 Q, 
and: P 
 Q, 
it:
, 
guard: {T}
Lemmas : 
tagged+_wf, 
tag-case_wf, 
Id_wf, 
unit_wf, 
subtype_rel_tagged+, 
subtype_rel_self, 
subtype_rel_product, 
ifthenelse_wf, 
eq_atom_wf, 
bool_wf, 
iff_weakening_uiff, 
uiff_transitivity, 
assert_wf, 
eqtt_to_assert, 
assert_of_eq_atom, 
not_wf, 
bnot_wf, 
eqff_to_assert, 
assert_of_bnot, 
not_functionality_wrt_uiff
\mforall{}[M:Type  {}\mrightarrow{}  Type]
    \mforall{}[A,B:Type].    (Com(P.M[P])  A)  \msubseteq{}r  (Com(P.M[P])  B)  supposing  A  \msubseteq{}r  B 
    supposing  \mforall{}A,B:Type.    ((A  \msubseteq{}r  B)  {}\mRightarrow{}  (M[A]  \msubseteq{}r  M[B]))
Date html generated:
2011_08_16-PM-06_47_20
Last ObjectModification:
2011_06_18-AM-10_59_33
Home
Index