{ [st1,st2:SimpleType].  ((eq_st(st1;st2))  (st1 ~ st2)) }

{ Proof }



Definitions occuring in Statement :  eq_st: eq_st(st1;st2) simple_type: SimpleType assert: b uall: [x:A]. B[x] implies: P  Q sqequal: s ~ t
Definitions :  eq_st: eq_st(st1;st2) equal: s = t decide: case b of inl(x) =s[x] | inr(y) =t[y] ifthenelse: if b then t else f fi  rec: rec(x.A[x]) strong-subtype: strong-subtype(A;B) le: A  B ge: i  j  not: A less_than: a < b and: P  Q uiff: uiff(P;Q) atom: Atom product: x:A  B[x] union: left + right base: Base universe: Type so_lambda: x.t[x] sq_type: SQType(T) uimplies: b supposing a subtype_rel: A r B all: x:A. B[x] uall: [x:A]. B[x] isect: x:A. B[x] lambda: x.A[x] member: t  T implies: P  Q function: x:A  B[x] prop: assert: b simple_type: Error :simple_type,  sqequal: s ~ t valueall-type: valueall-type(T) atom: Atom$n int: quotient: x,y:A//B[x; y] set: {x:A| B[x]}  tunion: x:A.B[x] b-union: A  B list: type List eq_term: a == b
Lemmas :  simple_type-valueall-type assert-eq_term valueall-type_wf subtype_base_sq rec_subtype_base base_wf subtype_rel_wf atom_subtype_base union_subtype_base product_subtype_base eq_st_wf assert_wf Error :simple_type_wf

\mforall{}[st1,st2:SimpleType].    ((\muparrow{}eq\_st(st1;st2))  {}\mRightarrow{}  (st1  \msim{}  st2))


Date html generated: 2011_08_17-PM-04_50_36
Last ObjectModification: 2011_02_04-AM-11_34_58

Home Index