{ [U:Atom  SimpleType]. [st1,st2:SimpleType].
    st-unifies(U;st1;st2) = st-unifies(U;st2;st1) }

{ Proof }



Definitions occuring in Statement :  st-unifies: st-unifies(U;st1;st2),  simple_type: SimpleType,  bool: ,  uall: [x:A]. B[x],  function: x:A  B[x],  atom: Atom,  equal: s = t
Definitions :  subtype: S  T,  suptype: suptype(S; T),  st-vars: st-vars(st),  l_member: (x  l),  set: {x:A| B[x]} ,  true: True,  false: False,  decide: case b of inl(x) => s[x] | inr(y) => t[y],  ifthenelse: if b then t else f fi ,  st-subst: st-subst(subst;st),  st-similar: st-similar(st1;st2),  rev_implies: P  Q,  prop: ,  assert: b,  implies: P  Q,  iff: P  Q,  universe: Type,  eclass: EClass(A[eo; e]),  pair: <a, b>,  fpf: a:A fp-> B[a],  rec: rec(x.A[x]),  strong-subtype: strong-subtype(A;B),  le: A  B,  ge: i  j ,  not: A,  less_than: a < b,  uimplies: b supposing a,  product: x:A  B[x],  and: P  Q,  uiff: uiff(P;Q),  subtype_rel: A r B,  all: x:A. B[x],  atom: Atom,  bool: ,  st-unifies: st-unifies(U;st1;st2),  function: x:A  B[x],  axiom: Ax,  equal: s = t,  uall: [x:A]. B[x],  member: t  T,  isect: x:A. B[x],  simple_type: SimpleType,  Auto: Error :Auto,  CollapseTHEN: Error :CollapseTHEN,  Unfold: Error :Unfold,  CollapseTHENA: Error :CollapseTHENA
Lemmas :  member_wf,  simple_type_wf,  l_member_wf,  st-subst_wf,  st-vars_wf,  st-similar_wf,  assert_wf,  true_wf,  ifthenelse_wf,  false_wf,  st-unifies_wf,  iff_imp_equal_bool,  bool_wf,  st-similar_inversion

\mforall{}[U:Atom  {}\mrightarrow{}  SimpleType].  \mforall{}[st1,st2:SimpleType].    st-unifies(U;st1;st2)  =  st-unifies(U;st2;st1)


Date html generated: 2011_08_17-PM-04_58_09
Last ObjectModification: 2011_02_08-AM-00_02_29

Home Index