{ [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