{ [st1,st2:SimpleType].  ((st1 = st2)  st1  st2) }

{ Proof }



Definitions occuring in Statement :  st-instance: st1  st2 simple_type: SimpleType uall: [x:A]. B[x] implies: P  Q 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]}  sqequal: s ~ t st-subst: st-subst(subst;st) true: True st-similar: st-similar(st1;st2) false: False decide: case b of inl(x) =s[x] | inr(y) =t[y] ifthenelse: if b then t else f fi  universe: Type limited-type: LimitedType member: t  T strong-subtype: strong-subtype(A;B) le: A  B ge: i  j  not: A less_than: a < b uimplies: b supposing a and: P  Q uiff: uiff(P;Q) subtype_rel: A r B all: x:A. B[x] uall: [x:A]. B[x] isect: x:A. B[x] implies: P  Q prop: rec: rec(x.A[x]) equal: s = t st-instance: st1  st2 exists: x:A. B[x] product: x:A  B[x] assert: b function: x:A  B[x] simple_type: SimpleType atom: Atom Auto: Error :Auto,  CollapseTHEN: Error :CollapseTHEN,  st_var: st_var(name) lambda: x.A[x]
Lemmas :  st-instance_wf st_var_wf st-subst-trivial false_wf ifthenelse_wf true_wf st-similar_weakening assert_wf st-similar_wf st-subst_wf member_wf st-vars_wf l_member_wf simple_type_wf

\mforall{}[st1,st2:SimpleType].    ((st1  =  st2)  {}\mRightarrow{}  st1  \mleq{}  st2)


Date html generated: 2011_08_17-PM-04_56_55
Last ObjectModification: 2011_02_07-PM-04_06_47

Home Index