{ [s:Atom  SimpleType]. [st:SimpleType].
    st-kind(st-subst(s;st)) ~ st-kind(st) supposing st_var?(st) }

{ Proof }



Definitions occuring in Statement :  st-kind: st-kind(st) st-subst: st-subst(subst;st) st_var?: st_var?(x) simple_type: SimpleType assert: b uimplies: b supposing a uall: [x:A]. B[x] not: A function: x:A  B[x] atom: Atom sqequal: s ~ t
Definitions :  simple_type_ind_st_class: simple_type_ind_st_class_compseq_tag_def simple_type_ind_st_list: simple_type_ind_st_list_compseq_tag_def simple_type_ind_st_union: simple_type_ind_st_union_compseq_tag_def simple_type_ind_st_prod: simple_type_ind_st_prod_compseq_tag_def natural_number: $n simple_type_ind_st_arrow: simple_type_ind_st_arrow_compseq_tag_def simple_type_ind_st_const: simple_type_ind_st_const_compseq_tag_def false: False implies: P  Q true: True simple_type_ind_st_var: simple_type_ind_st_var_compseq_tag_def st-kind: st-kind(st) st-subst: st-subst(subst;st) set: {x:A| B[x]}  product: x:A  B[x] union: left + right rec: rec(x.A[x]) universe: Type st_var?: st_var?(x) all: x:A. B[x] equal: s = t so_lambda: x.t[x] function: x:A  B[x] atom: Atom sqequal: s ~ t uall: [x:A]. B[x] simple_type: SimpleType uimplies: b supposing a assert: b prop: not: A member: t  T isect: x:A. B[x] Auto: Error :Auto,  Try: Error :Try,  CollapseTHEN: Error :CollapseTHEN,  RepUR: Error :RepUR,  CollapseTHENA: Error :CollapseTHENA,  RepeatFor: Error :RepeatFor
Lemmas :  st_var?_wf uall_wf assert_wf simple_type_wf true_wf false_wf not_wf

\mforall{}[s:Atom  {}\mrightarrow{}  SimpleType].  \mforall{}[st:SimpleType].
    st-kind(st-subst(s;st))  \msim{}  st-kind(st)  supposing  \mneg{}\muparrow{}st\_var?(st)


Date html generated: 2011_08_17-PM-04_59_08
Last ObjectModification: 2011_02_07-PM-11_37_36

Home Index